Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 45150 Details for
Bug 96237
[javadoc] Inner types must be qualified
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed patch
v09.txt (text/plain), 237.12 KB, created by
Frederic Fusier
on 2006-06-23 03:50:17 EDT
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Frederic Fusier
Created:
2006-06-23 03:50:17 EDT
Size:
237.12 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core.tests.compiler >Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestOptions.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestOptions.java,v >retrieving revision 1.13 >diff -u -r1.13 JavadocTestOptions.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestOptions.java 29 Mar 2006 03:50:22 -0000 1.13 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestOptions.java 23 Jun 2006 07:47:49 -0000 >@@ -44,8 +44,8 @@ > private final int DEFAULT_VISIBILITY = 2; > private final int PRIVATE_VISIBILITY = 3; > >- private static String JavadocWithInvalidReferences = " /**\n" + >- " * @see X.X_dep\n" + >+ private static String INVALID_CLASS_JAVADOC_REF = " /**\n" + >+ " * @see X_dep\n" + > " * @see X.X_priv\n" + > " * @see X.Unknown\n" + > " * @see X#X(int)\n" + >@@ -59,7 +59,7 @@ > " * @see X#foo_dep(String)\n" + > " * @see X#unknown()\n" + > " */\n"; >- private static String JavadocWithInvalidReferencesForMethod = " /**\n" + >+ private static String INVALID_METHOD_JAVADOC_REF = " /**\n" + > " * @param str\n" + > " * @param str\n" + > " * @param xxx\n" + >@@ -67,7 +67,7 @@ > " * @throws IllegalArgumentException\n" + > " * @throws java.io.IOException\n" + > " * @throws Unknown\n" + >- " * @see X.X_dep\n" + >+ " * @see X_dep\n" + > " * @see X.X_priv\n" + > " * @see X.Unknown\n" + > " * @see X#X(int)\n" + >@@ -81,10 +81,14 @@ > " * @see X#foo_dep(String)\n" + > " * @see X#unknown()\n" + > " */\n"; >- private static String refClassForInvalidJavadoc = >+ private static String DEP_CLASS = >+ "/** @deprecated */\n" + >+ "public class X_dep {}\n"; >+ private static String REF_CLASS = > "public class X {\n" + >- " /** @deprecated */\n" + >- " class X_dep{}\n" + >+// Deprecated class must be a top level to avoid visibility issue >+// " /** @deprecated */\n" + >+// " class X_dep{}\n" + > " private class X_priv{}\n" + > " /** @deprecated */\n" + > " int x_dep;\n" + >@@ -96,71 +100,79 @@ > " void foo_dep() {}\n" + > " private void foo_priv() {}\n" + > " }\n"; >- private static String[] InvalidReferencesClassJavadocComments = { >+ private static String[] CLASSES_INVALID_COMMENT = { > "X.java", >- refClassForInvalidJavadoc, >+ REF_CLASS, >+ "X_dep.java", >+ DEP_CLASS, > "Y.java", > "public class Y {\n" + >- JavadocWithInvalidReferences + >+ INVALID_CLASS_JAVADOC_REF + > " public class X_pub {}\n" + >- JavadocWithInvalidReferences + >+ INVALID_CLASS_JAVADOC_REF + > " protected class X_prot {}\n" + >- JavadocWithInvalidReferences + >+ INVALID_CLASS_JAVADOC_REF + > " class X_pack {}\n" + >- JavadocWithInvalidReferences + >+ INVALID_CLASS_JAVADOC_REF + > " private class X_priv {}\n" + > "}\n" + > "\n" > }; >- private static String[] InvalidReferencesFieldJavadocComments = { >+ private static String[] FIELDS_INVALID_COMMENT = { > "X.java", >- refClassForInvalidJavadoc, >+ REF_CLASS, >+ "X_dep.java", >+ DEP_CLASS, > "Y.java", > "public class Y {\n" + >- JavadocWithInvalidReferences + >+ INVALID_CLASS_JAVADOC_REF + > " public int x_pub;\n" + >- JavadocWithInvalidReferences + >+ INVALID_CLASS_JAVADOC_REF + > " protected int x_prot;\n" + >- JavadocWithInvalidReferences + >+ INVALID_CLASS_JAVADOC_REF + > " int x_pack;\n" + >- JavadocWithInvalidReferences+ >+ INVALID_CLASS_JAVADOC_REF+ > " private int x_priv;\n" + > "}\n" + > "\n" > }; >- private static String[] InvalidReferencesMethodJavadocComments = { >+ private static String[] METHODS_INVALID_COMMENT = { > "X.java", >- refClassForInvalidJavadoc, >+ REF_CLASS, >+ "X_dep.java", >+ DEP_CLASS, > "Y.java", > "public class Y {\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " public void foo_pub(String str) throws IllegalArgumentException {}\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " protected void foo_pro(String str) throws IllegalArgumentException {}\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " void foo_pack(String str) throws IllegalArgumentException {}\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " private void foo_priv(String str) throws IllegalArgumentException {}\n" + > "}\n" + > "\n" > }; >- private static String[] InvalidReferencesConstructorJavadocComments = { >+ private static String[] CONSTRUCTORS_INVALID_COMMENT = { > "X.java", >- refClassForInvalidJavadoc, >+ REF_CLASS, >+ "X_dep.java", >+ DEP_CLASS, > "Y.java", > "public class Y {\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " public Y(int str) {}\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " protected Y(long str) {}\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " Y(float str) {}\n" + >- JavadocWithInvalidReferencesForMethod + >+ INVALID_METHOD_JAVADOC_REF + > " private Y(double str) {}\n" + > "}\n" + > "\n" > }; >- private static String[] MissingTags = { >+ private static String[] MISSING_TAGS = { > "X.java", > "public class X {\n" + > " // public\n" + >@@ -216,7 +228,7 @@ > " private int privateMethod(long l) { return 0;}\n" + > "}\n" > }; >- private static String[] MissingComments = { >+ private static String[] MISSING_COMMENTS = { > "X.java", > "/** */\n" + > "public class X {\n" + >@@ -254,11 +266,11 @@ > "}\n" > }; > >- private static String[] resultForInvalidTagsClassOrField = { >+ private static String[] CLASSES_ERRORS = { > "1. ERROR in Y.java (at line 3)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "2. ERROR in Y.java (at line 4)\n" + > " * @see X.X_priv\n" + >@@ -321,9 +333,9 @@ > "Javadoc: The method unknown() is undefined for the type X\n" + > "----------\n", > "14. ERROR in Y.java (at line 19)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "15. ERROR in Y.java (at line 20)\n" + > " * @see X.X_priv\n" + >@@ -386,9 +398,9 @@ > "Javadoc: The method unknown() is undefined for the type X\n" + > "----------\n", > "27. ERROR in Y.java (at line 35)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "28. ERROR in Y.java (at line 36)\n" + > " * @see X.X_priv\n" + >@@ -451,9 +463,9 @@ > "Javadoc: The method unknown() is undefined for the type X\n" + > "----------\n", > "40. ERROR in Y.java (at line 51)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "41. ERROR in Y.java (at line 52)\n" + > " * @see X.X_priv\n" + >@@ -517,7 +529,7 @@ > "----------\n" > }; > >- private static String[] resultForInvalidTagsMethodOrConstructor = { >+ private static String[] METHODS_ERRORS = { > "1. ERROR in Y.java (at line 4)\n" + > " * @param str\n" + > " ^^^\n" + >@@ -539,9 +551,9 @@ > "Javadoc: Unknown cannot be resolved to a type\n" + > "----------\n" + > "5. ERROR in Y.java (at line 10)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "6. ERROR in Y.java (at line 11)\n" + > " * @see X.X_priv\n" + >@@ -624,9 +636,9 @@ > "Javadoc: Unknown cannot be resolved to a type\n" + > "----------\n" + > "22. ERROR in Y.java (at line 33)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "23. ERROR in Y.java (at line 34)\n" + > " * @see X.X_priv\n" + >@@ -709,9 +721,9 @@ > "Javadoc: Unknown cannot be resolved to a type\n" + > "----------\n" + > "39. ERROR in Y.java (at line 56)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "40. ERROR in Y.java (at line 57)\n" + > " * @see X.X_priv\n" + >@@ -794,9 +806,9 @@ > "Javadoc: Unknown cannot be resolved to a type\n" + > "----------\n" + > "56. ERROR in Y.java (at line 79)\n" + >- " * @see X.X_dep\n" + >- " ^^^^^^^\n" + >- "Javadoc: The type X.X_dep is deprecated\n" + >+ " * @see X_dep\n" + >+ " ^^^^^\n" + >+ "Javadoc: The type X_dep is deprecated\n" + > "----------\n" + > "57. ERROR in Y.java (at line 80)\n" + > " * @see X.X_priv\n" + >@@ -864,13 +876,13 @@ > if (reportInvalidJavadocTagsDeprecatedRef == null && reportInvalidJavadocTagsNotVisibleRef == null) { > String result = "----------\n"; > for (int i=0; i<=visibility; i++) { >- result += resultForInvalidTagsClassOrField[i]; >+ result += CLASSES_ERRORS[i]; > } > return result; > } > StringBuffer result = new StringBuffer("----------\n"); > for (int i=0, count=1; i<= visibility; i++) { >- StringTokenizer tokenizer = new StringTokenizer(resultForInvalidTagsClassOrField[i], "\n"); >+ StringTokenizer tokenizer = new StringTokenizer(CLASSES_ERRORS[i], "\n"); > while (tokenizer.hasMoreTokens()) { > StringBuffer error = new StringBuffer(); > boolean add = true; >@@ -886,7 +898,7 @@ > add = line.indexOf("is deprecated") == -1; > } > if (add && CompilerOptions.DISABLED.equals(reportInvalidJavadocTagsNotVisibleRef)) { >- add = line.indexOf("is not visible") == -1; >+ add = line.indexOf("is not visible") == -1 && line.indexOf("in generated documentation") == -1; > } > default: > error.append(line); >@@ -906,13 +918,13 @@ > if (reportInvalidJavadocTagsDeprecatedRef == null && reportInvalidJavadocTagsNotVisibleRef == null) { > String result = "----------\n"; > for (int i=0; i<=visibility; i++) { >- result += resultForInvalidTagsMethodOrConstructor[i]; >+ result += METHODS_ERRORS[i]; > } > return result; > } > StringBuffer result = new StringBuffer("----------\n"); > for (int i=0, count=1; i<= visibility; i++) { >- StringTokenizer tokenizer = new StringTokenizer(resultForInvalidTagsMethodOrConstructor[i], "\n"); >+ StringTokenizer tokenizer = new StringTokenizer(METHODS_ERRORS[i], "\n"); > while (tokenizer.hasMoreTokens()) { > StringBuffer error = new StringBuffer(); > boolean add = true; >@@ -928,7 +940,7 @@ > add = line.indexOf("is deprecated") == -1; > } > if (add && CompilerOptions.DISABLED.equals(reportInvalidJavadocTagsNotVisibleRef)) { >- add = line.indexOf("is not visible") == -1; >+ add = line.indexOf("is not visible") == -1 && line.indexOf("in generated documentation") == -1; > } > default: > error.append(line); >@@ -1302,19 +1314,19 @@ > */ > public void testInvalidTagsClassNoSupport() { > docCommentSupport = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesClassJavadocComments); >+ runConformTest(CLASSES_INVALID_COMMENT); > } > public void testInvalidTagsFieldNoSupport() { > docCommentSupport = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesFieldJavadocComments); >+ runConformTest(FIELDS_INVALID_COMMENT); > } > public void testInvalidTagsMethodNoSupport() { > docCommentSupport = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesMethodJavadocComments); >+ runConformTest(METHODS_INVALID_COMMENT); > } > public void testInvalidTagsConstructorNoSupport() { > docCommentSupport = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesConstructorJavadocComments); >+ runConformTest(CONSTRUCTORS_INVALID_COMMENT); > } > > /* >@@ -1322,38 +1334,38 @@ > */ > // Test default invalid javadoc (means "ignore" with tags"disabled" and visibility "public") > public void testInvalidTagsClassDefaults() { >- runConformTest(InvalidReferencesClassJavadocComments); >+ runConformTest(CLASSES_INVALID_COMMENT); > } > public void testInvalidTagsFieldDefaults() { >- runConformTest(InvalidReferencesFieldJavadocComments); >+ runConformTest(FIELDS_INVALID_COMMENT); > } > public void testInvalidTagsMethodDefaults() { >- runConformTest(InvalidReferencesMethodJavadocComments); >+ runConformTest(METHODS_INVALID_COMMENT); > } > public void testInvalidTagsConstructorDefaults() { >- runConformTest(InvalidReferencesConstructorJavadocComments); >+ runConformTest(CONSTRUCTORS_INVALID_COMMENT); > } > > // Test invalid javadoc "error" + tags "disabled" and visibility "public" > public void testInvalidTagsClassErrorNotags() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesClassJavadocComments); >+ runConformTest(CLASSES_INVALID_COMMENT); > } > public void testInvalidTagsFieldErrorNotags() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesFieldJavadocComments); >+ runConformTest(FIELDS_INVALID_COMMENT); > } > public void testInvalidTagsMethodErrorNotags() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesMethodJavadocComments); >+ runConformTest(METHODS_INVALID_COMMENT); > } > public void testInvalidTagsConstructorErrorNotags() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.DISABLED; >- runConformTest(InvalidReferencesConstructorJavadocComments); >+ runConformTest(CONSTRUCTORS_INVALID_COMMENT); > } > > // Test invalid javadoc "error" + tags "enabled" and visibility "public" >@@ -1361,25 +1373,25 @@ > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsFieldErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsMethodErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsConstructorErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" and visibility "protected" >@@ -1387,25 +1399,25 @@ > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsFieldErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsMethodErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsConstructorErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" and visibility "default" >@@ -1413,43 +1425,43 @@ > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsFieldErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsMethodErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsConstructorErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" and visibility "private" > public void testInvalidTagsClassErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsFieldErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsMethodErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsConstructorErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated references "disabled" and visibility "public" >@@ -1458,28 +1470,28 @@ > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefFieldErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefMethodErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefConstructorErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated references "disabled" visibility "protected" >@@ -1488,28 +1500,28 @@ > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefFieldErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefMethodErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefConstructorErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated references "disabled" and visibility "default" >@@ -1518,50 +1530,50 @@ > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefFieldErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefMethodErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefConstructorErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated references "disabled" and visibility "private" > public void testInvalidTagsDeprecatedRefClassErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefFieldErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefMethodErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsDeprecatedRefConstructorErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid not visible references "disabled" and visibility "public" >@@ -1570,28 +1582,28 @@ > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefFieldErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefMethodErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefConstructorErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid not visible references "disabled" visibility "protected" >@@ -1600,28 +1612,28 @@ > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefFieldErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefMethodErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefConstructorErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid not visible references "disabled" and visibility "default" >@@ -1630,50 +1642,50 @@ > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefFieldErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefMethodErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefConstructorErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid not visible references "disabled" and visibility "private" > public void testInvalidTagsNotVisibleRefClassErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefFieldErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefMethodErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsNotVisibleRefConstructorErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated or not visible references "disabled" and visibility "public" >@@ -1683,7 +1695,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefFieldErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1691,7 +1703,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefMethodErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1699,7 +1711,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefConstructorErrorTagsPublic() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1707,7 +1719,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PUBLIC; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PUBLIC_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated or not visible references "disabled" visibility "protected" >@@ -1717,7 +1729,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefFieldErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1725,7 +1737,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefMethodErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1733,7 +1745,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefConstructorErrorTagsProtected() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1741,7 +1753,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PROTECTED; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PROTECTED_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated or not visible references "disabled" and visibility "default" >@@ -1751,7 +1763,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefFieldErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1759,7 +1771,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefMethodErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1767,7 +1779,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefConstructorErrorTagsPackage() { > reportInvalidJavadoc = CompilerOptions.ERROR; >@@ -1775,7 +1787,7 @@ > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.DEFAULT; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(DEFAULT_VISIBILITY)); > } > > // Test invalid javadoc "error" + tags "enabled" but invalid deprecated or not visible references "disabled" and visibility "private" >@@ -1783,25 +1795,25 @@ > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesClassJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(CLASSES_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefFieldErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesFieldJavadocComments, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); >+ runNegativeTest(FIELDS_INVALID_COMMENT, resultForInvalidTagsClassOrField(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefMethodErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesMethodJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(METHODS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > public void testInvalidTagsDeprecatedAndNotVisibleRefConstructorErrorTagsPrivate() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTagsDeprecatedRef = CompilerOptions.DISABLED; > reportInvalidJavadocTagsNotVisibleRef = CompilerOptions.DISABLED; >- runNegativeTest(InvalidReferencesConstructorJavadocComments, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); >+ runNegativeTest(CONSTRUCTORS_INVALID_COMMENT, resultForInvalidTagsMethodOrConstructor(PRIVATE_VISIBILITY)); > } > > /* >@@ -1809,7 +1821,7 @@ > */ > // Test default missing javadoc tags (means "ignore" with visibility "public" and overriding="enabled") > public void testMissingTagsDefaults() { >- runConformTest(MissingTags); >+ runConformTest(MISSING_TAGS); > } > > // Test missing javadoc tags "error" + "public" visibility + "enabled" overriding >@@ -1817,7 +1829,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PUBLIC; > reportMissingJavadocTagsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingTags, resultForMissingTags(PUBLIC_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(PUBLIC_VISIBILITY)); > } > > // Test missing javadoc tags "error" + "public" visibility + "disabled" overriding >@@ -1825,7 +1837,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PUBLIC; > reportMissingJavadocTagsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingTags, resultForMissingTags(PUBLIC_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(PUBLIC_VISIBILITY)); > } > > // Test missing javadoc tags "error" + "protected" visibility + "enabled" overriding >@@ -1833,7 +1845,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PROTECTED; > reportMissingJavadocTagsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingTags, resultForMissingTags(PROTECTED_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(PROTECTED_VISIBILITY)); > } > > // Test missing javadoc tags "error" + "protected" visibility + "disabled" overriding >@@ -1841,7 +1853,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PROTECTED; > reportMissingJavadocTagsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingTags, resultForMissingTags(PROTECTED_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(PROTECTED_VISIBILITY)); > } > > // Test missing javadoc tags "error" + "default" visibility + "enabled" overriding >@@ -1849,7 +1861,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.DEFAULT; > reportMissingJavadocTagsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingTags, resultForMissingTags(DEFAULT_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(DEFAULT_VISIBILITY)); > } > > // Test missing javadoc tags "error" + "default" visibility + "disabled" overriding >@@ -1857,7 +1869,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.DEFAULT; > reportMissingJavadocTagsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingTags, resultForMissingTags(DEFAULT_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(DEFAULT_VISIBILITY)); > } > > // Test missing javadoc tags "error" + "private" visibility + "enabled" overriding >@@ -1865,7 +1877,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PRIVATE; > reportMissingJavadocTagsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingTags, resultForMissingTags(PRIVATE_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(PRIVATE_VISIBILITY)); > } > > // Test missing javadoc tags "error" + "private" visibility + "disabled" overriding >@@ -1873,7 +1885,7 @@ > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PRIVATE; > reportMissingJavadocTagsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingTags, resultForMissingTags(PRIVATE_VISIBILITY)); >+ runNegativeTest(MISSING_TAGS, resultForMissingTags(PRIVATE_VISIBILITY)); > } > > /* >@@ -1881,7 +1893,7 @@ > */ > // Test default missing javadoc comments (means "ignore" with visibility "public" and overriding="enabled") > public void testMissingCommentsDefaults() { >- runConformTest(MissingComments); >+ runConformTest(MISSING_COMMENTS); > } > > // Test missing javadoc comments "error" + "public" visibility + "enabled" overriding >@@ -1889,7 +1901,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.PUBLIC; > reportMissingJavadocCommentsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingComments, resultForMissingComments(PUBLIC_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(PUBLIC_VISIBILITY)); > } > > // Test missing javadoc comments "error" + "public" visibility + "disabled" overriding >@@ -1897,7 +1909,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.PUBLIC; > reportMissingJavadocCommentsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingComments, resultForMissingComments(PUBLIC_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(PUBLIC_VISIBILITY)); > } > > // Test missing javadoc comments "error" + "protected" visibility + "enabled" overriding >@@ -1905,7 +1917,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.PROTECTED; > reportMissingJavadocCommentsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingComments, resultForMissingComments(PROTECTED_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(PROTECTED_VISIBILITY)); > } > > // Test missing javadoc comments "error" + "protected" visibility + "disabled" overriding >@@ -1913,7 +1925,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.PROTECTED; > reportMissingJavadocCommentsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingComments, resultForMissingComments(PROTECTED_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(PROTECTED_VISIBILITY)); > } > > // Test missing javadoc comments "error" + "default" visibility + "enabled" overriding >@@ -1921,7 +1933,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.DEFAULT; > reportMissingJavadocCommentsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingComments, resultForMissingComments(DEFAULT_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(DEFAULT_VISIBILITY)); > } > > // Test missing javadoc comments "error" + "default" visibility + "disabled" overriding >@@ -1929,7 +1941,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.DEFAULT; > reportMissingJavadocCommentsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingComments, resultForMissingComments(DEFAULT_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(DEFAULT_VISIBILITY)); > } > > // Test missing javadoc comments "error" + "private" visibility + "enabled" overriding >@@ -1937,7 +1949,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.PRIVATE; > reportMissingJavadocCommentsOverriding = CompilerOptions.ENABLED; >- runNegativeTest(MissingComments, resultForMissingComments(PRIVATE_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(PRIVATE_VISIBILITY)); > } > > // Test missing javadoc comments "error" + "private" visibility + "disabled" overriding >@@ -1945,7 +1957,7 @@ > reportMissingJavadocComments = CompilerOptions.ERROR; > reportMissingJavadocCommentsVisibility = CompilerOptions.PRIVATE; > reportMissingJavadocCommentsOverriding = CompilerOptions.DISABLED; >- runNegativeTest(MissingComments, resultForMissingComments(PRIVATE_VISIBILITY)); >+ runNegativeTest(MISSING_COMMENTS, resultForMissingComments(PRIVATE_VISIBILITY)); > } > > /* >@@ -1954,28 +1966,28 @@ > public void testInvalidTagsClassWithMissingTagsOption() { > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PRIVATE; >- runConformTest(InvalidReferencesClassJavadocComments); >+ runConformTest(CLASSES_INVALID_COMMENT); > } > public void testInvalidTagsFieldWithMissingTagsOption() { > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PRIVATE; >- runConformTest(InvalidReferencesFieldJavadocComments); >+ runConformTest(FIELDS_INVALID_COMMENT); > } > public void testInvalidTagsMethodWithMissingTagsOption() { > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PRIVATE; >- runConformTest(InvalidReferencesMethodJavadocComments); >+ runConformTest(METHODS_INVALID_COMMENT); > } > public void testInvalidTagsConstructorWithMissingTagsOption() { > reportMissingJavadocTags = CompilerOptions.ERROR; > reportMissingJavadocTagsVisibility = CompilerOptions.PRIVATE; >- runConformTest(InvalidReferencesConstructorJavadocComments); >+ runConformTest(CONSTRUCTORS_INVALID_COMMENT); > } > public void testMissingTagsWithInvalidTagsOption() { > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ENABLED; > reportInvalidJavadocTagsVisibility = CompilerOptions.PRIVATE; >- runConformTest(MissingTags); >+ runConformTest(MISSING_TAGS); > } > > /** >@@ -1987,24 +1999,24 @@ > this.docCommentSupport = CompilerOptions.DISABLED; > reportInvalidJavadoc = CompilerOptions.ERROR; > reportInvalidJavadocTags = CompilerOptions.ERROR; >- runConformTest(InvalidReferencesClassJavadocComments); >- runConformTest(InvalidReferencesFieldJavadocComments); >- runConformTest(InvalidReferencesMethodJavadocComments); >- runConformTest(InvalidReferencesConstructorJavadocComments); >+ runConformTest(CLASSES_INVALID_COMMENT); >+ runConformTest(FIELDS_INVALID_COMMENT); >+ runConformTest(METHODS_INVALID_COMMENT); >+ runConformTest(CONSTRUCTORS_INVALID_COMMENT); > } > > // Test missing javadoc comments "error" with javadoc comment support disabled > public void testMissingCommentsJavadocSupportDisabled() { > this.docCommentSupport = CompilerOptions.DISABLED; > reportMissingJavadocComments = CompilerOptions.ERROR; >- runConformReferenceTest(MissingComments); >+ runConformReferenceTest(MISSING_COMMENTS); > } > > // Test missing javadoc tags "error" with javadoc comment support disabled > public void testMissingTagsJavadocSupportDisabled() { > this.docCommentSupport = CompilerOptions.DISABLED; > reportMissingJavadocTags = CompilerOptions.ERROR; >- runConformReferenceTest(MissingTags); >+ runConformReferenceTest(MISSING_TAGS); > } > > } >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.22 >diff -u -r1.22 JavadocBugsTest.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 29 Mar 2006 03:50:22 -0000 1.22 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 23 Jun 2006 07:47:43 -0000 >@@ -20,6 +20,7 @@ > > String docCommentSupport = CompilerOptions.ENABLED; > String reportInvalidJavadoc = CompilerOptions.ERROR; >+ String reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; > String reportMissingJavadocTags = CompilerOptions.ERROR; > String reportMissingJavadocComments = null; > String reportDeprecation = CompilerOptions.ERROR; >@@ -36,7 +37,7 @@ > // Use this static initializer to specify subset for tests > // All specified tests which does not belong to the class are skipped... > static { >-// TESTS_PREFIX = "testBug83127"; >+// TESTS_PREFIX = "testBug96237"; > // TESTS_NAMES = new String[] { "testBug68017javadocWarning2" }; > // TESTS_NUMBERS = new int[] { 129241 }; > // TESTS_RANGE = new int[] { 21, 50 }; >@@ -49,6 +50,9 @@ > Map options = super.getCompilerOptions(); > options.put(CompilerOptions.OPTION_DocCommentSupport, docCommentSupport); > options.put(CompilerOptions.OPTION_ReportInvalidJavadoc, reportInvalidJavadoc); >+ if (!CompilerOptions.IGNORE.equals(reportInvalidJavadoc)) { >+ options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsVisibility, this.reportInvalidJavadocVisibility); >+ } > if (this.reportJavadocDeprecation != null) { > options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsDeprecatedRef, reportJavadocDeprecation); > } >@@ -77,6 +81,7 @@ > super.setUp(); > docCommentSupport = CompilerOptions.ENABLED; > reportInvalidJavadoc = CompilerOptions.ERROR; >+ reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; > reportMissingJavadocTags = CompilerOptions.IGNORE; > reportMissingJavadocComments = CompilerOptions.IGNORE; > reportDeprecation = CompilerOptions.ERROR; >@@ -220,45 +225,45 @@ > public void testBug45592() { > runConformTest( > new String[] { >- "a/Y.java", >- "package a;\n" + >- "\n" + >- "/** */\n" + >- "public class Y {\n" + >- " protected boolean bar(Object obj) {\n" + >- " return obj == null;\n" + >- " }\n" + >- "}\n", >- "test/X.java", >- "package test;\n" + >- "public class X {\n" + >- " public static Boolean valueOf(boolean bool) {\n" + >- " if (bool) {\n" + >- " return Boolean.TRUE;\n" + >- " } else {\n" + >- " return Boolean.FALSE;\n" + >- " }\n" + >- " }\n" + >- "}\n", >- "test/YY.java", >- "package test;\n" + >- "\n" + >- "import a.Y;\n" + >- "\n" + >- "/** */\n" + >- "public class YY extends Y {\n" + >- " /**\n" + >- " * Returns a Boolean.\n" + >- " * @param key\n" + >- " * @return A Boolean telling whether the key is null or not.\n" + >- " * @see #bar(Object)\n" + >- " */\n" + >- " protected Boolean foo(Object key) {\n" + >- " return X.valueOf(bar(key));\n" + >- " }\n" + >- "}\n" >- } >- ); >+ "a/Y.java", >+ "package a;\n" + >+ "\n" + >+ "/** */\n" + >+ "public class Y {\n" + >+ " protected boolean bar(Object obj) {\n" + >+ " return obj == null;\n" + >+ " }\n" + >+ "}\n", >+ "test/X.java", >+ "package test;\n" + >+ "public class X {\n" + >+ " public static Boolean valueOf(boolean bool) {\n" + >+ " if (bool) {\n" + >+ " return Boolean.TRUE;\n" + >+ " } else {\n" + >+ " return Boolean.FALSE;\n" + >+ " }\n" + >+ " }\n" + >+ "}\n", >+ "test/YY.java", >+ "package test;\n" + >+ "\n" + >+ "import a.Y;\n" + >+ "\n" + >+ "/** */\n" + >+ "public class YY extends Y {\n" + >+ " /**\n" + >+ " * Returns a Boolean.\n" + >+ " * @param key\n" + >+ " * @return A Boolean telling whether the key is null or not.\n" + >+ " * @see #bar(Object)\n" + >+ " */\n" + >+ " protected Boolean foo(Object key) {\n" + >+ " return X.valueOf(bar(key));\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); > } > > /** >@@ -690,12 +695,7 @@ > "}\n" > }, > "----------\n" + >- "1. WARNING in X.java (at line 2)\n" + >- " public class X extends RuntimeException {\n" + >- " ^\n" + >- "The serializable class X does not declare a static final serialVersionUID field of type long\n" + >- "----------\n" + >- "2. ERROR in X.java (at line 5)\n" + >+ "1. ERROR in X.java (at line 5)\n" + > " public X(String message) {\n" + > " ^^^^^^^\n" + > "Javadoc: Missing tag for parameter message\n" + >@@ -2420,6 +2420,196 @@ > } > > /** >+ * Bug 68726: [Javadoc] Target attribute in @see link triggers warning >+ * @see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68726">68726</a> >+ */ >+ public void testBug68726conform1() { >+ runConformTest( >+ new String[] { >+ "X.java", >+ "public class X {\n" + >+ " /**\n" + >+ " * @see Object <a href=\"http://www.eclipse.org\" target=\"_top\">Eclipse</a>\n" + >+ " */\n" + >+ " void foo1() {}\n" + >+ " /**@see Object <a href=\"http://www.eclipse.org\" target=\"_top\" target1=\"_top1\" target2=\"_top2\">Eclipse</a>*/\n" + >+ " void foo2() {}\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug68726conform2() { >+ runConformTest( >+ new String[] { >+ "X.java", >+ "/**\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">IBM Home Page</a>\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " * IBM Home Page</a>\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " * IBM Home Page\n" + >+ " * </a>\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " *\n" + >+ " * IBM\n" + >+ " *\n" + >+ " * Home Page\n" + >+ " *\n" + >+ " *\n" + >+ " * </a>\n" + >+ " * @see Object\n" + >+ " */\n" + >+ "public class X {\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug68726negative1() { >+ runNegativeTest( >+ new String[] { >+ "X.java", >+ "public class X {\n" + >+ " /**\n" + >+ " * Invalid URL link references\n" + >+ " *\n" + >+ " * @see <a href=\"invalid\" target\n" + >+ " * @see <a href=\"invalid\" target=\n" + >+ " * @see <a href=\"invalid\" target=\"\n" + >+ " * @see <a href=\"invalid\" target=\"_top\n" + >+ " * @see <a href=\"invalid\" target=\"_top\"\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid<\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid</\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid</a\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid</a> no text allowed after the href\n" + >+ " */\n" + >+ " void foo() {}\n" + >+ "}\n" >+ }, >+ "----------\n" + >+ "1. ERROR in X.java (at line 5)\n" + >+ " * @see <a href=\"invalid\" target\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "2. ERROR in X.java (at line 6)\n" + >+ " * @see <a href=\"invalid\" target=\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "3. ERROR in X.java (at line 7)\n" + >+ " * @see <a href=\"invalid\" target=\"\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "4. ERROR in X.java (at line 8)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "5. ERROR in X.java (at line 9)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\"\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "6. ERROR in X.java (at line 10)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "7. ERROR in X.java (at line 11)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "8. ERROR in X.java (at line 12)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "9. ERROR in X.java (at line 13)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid<\n" + >+ " ^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "10. ERROR in X.java (at line 14)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid</\n" + >+ " ^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "11. ERROR in X.java (at line 15)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid</a\n" + >+ " ^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "12. ERROR in X.java (at line 16)\n" + >+ " * @see <a href=\"invalid\" target=\"_top\">invalid</a> no text allowed after the href\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Unexpected text\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug68726negative2() { >+ runNegativeTest( >+ new String[] { >+ "X.java", >+ "/**\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">IBM Home Page\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " * IBM Home Page\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " * IBM Home Page<\n" + >+ " * /a>\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " *\n" + >+ " * IBM\n" + >+ " *\n" + >+ " * Home Page\n" + >+ " *\n" + >+ " *\n" + >+ " * \n" + >+ " * @see Unknown\n" + >+ " */\n" + >+ "public class X {\n" + >+ "}\n" >+ }, >+ "----------\n" + >+ "1. ERROR in X.java (at line 2)\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">IBM Home Page\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "2. ERROR in X.java (at line 3)\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " * IBM Home Page\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "3. ERROR in X.java (at line 6)\n" + >+ " * IBM Home Page<\n" + >+ " ^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "4. ERROR in X.java (at line 8)\n" + >+ " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >+ " *\n" + >+ " * IBM\n" + >+ " *\n" + >+ " * Home Page\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Malformed link reference\n" + >+ "----------\n" + >+ "5. ERROR in X.java (at line 16)\n" + >+ " * @see Unknown\n" + >+ " ^^^^^^^\n" + >+ "Javadoc: Unknown cannot be resolved to a type\n" + >+ "----------\n" >+ ); >+ } >+ >+ /** > * Bug 69272: [Javadoc] Invalid malformed reference (missing separator) > * @see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69272">69272</a> > */ >@@ -2709,196 +2899,6 @@ > } > > /** >- * Bug 68726: [Javadoc] Target attribute in @see link triggers warning >- * @see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68726">68726</a> >- */ >- public void testBug68726conform1() { >- runConformTest( >- new String[] { >- "X.java", >- "public class X {\n" + >- " /**\n" + >- " * @see Object <a href=\"http://www.eclipse.org\" target=\"_top\">Eclipse</a>\n" + >- " */\n" + >- " void foo1() {}\n" + >- " /**@see Object <a href=\"http://www.eclipse.org\" target=\"_top\" target1=\"_top1\" target2=\"_top2\">Eclipse</a>*/\n" + >- " void foo2() {}\n" + >- "}\n" >- } >- ); >- } >- public void testBug68726conform2() { >- runConformTest( >- new String[] { >- "X.java", >- "/**\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">IBM Home Page</a>\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " * IBM Home Page</a>\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " * IBM Home Page\n" + >- " * </a>\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " *\n" + >- " * IBM\n" + >- " *\n" + >- " * Home Page\n" + >- " *\n" + >- " *\n" + >- " * </a>\n" + >- " * @see Object\n" + >- " */\n" + >- "public class X {\n" + >- "}\n" >- } >- ); >- } >- public void testBug68726negative1() { >- runNegativeTest( >- new String[] { >- "X.java", >- "public class X {\n" + >- " /**\n" + >- " * Invalid URL link references\n" + >- " *\n" + >- " * @see <a href=\"invalid\" target\n" + >- " * @see <a href=\"invalid\" target=\n" + >- " * @see <a href=\"invalid\" target=\"\n" + >- " * @see <a href=\"invalid\" target=\"_top\n" + >- " * @see <a href=\"invalid\" target=\"_top\"\n" + >- " * @see <a href=\"invalid\" target=\"_top\">\n" + >- " * @see <a href=\"invalid\" target=\"_top\">\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid<\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid</\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid</a\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid</a> no text allowed after the href\n" + >- " */\n" + >- " void foo() {}\n" + >- "}\n" >- }, >- "----------\n" + >- "1. ERROR in X.java (at line 5)\n" + >- " * @see <a href=\"invalid\" target\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "2. ERROR in X.java (at line 6)\n" + >- " * @see <a href=\"invalid\" target=\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "3. ERROR in X.java (at line 7)\n" + >- " * @see <a href=\"invalid\" target=\"\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "4. ERROR in X.java (at line 8)\n" + >- " * @see <a href=\"invalid\" target=\"_top\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "5. ERROR in X.java (at line 9)\n" + >- " * @see <a href=\"invalid\" target=\"_top\"\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "6. ERROR in X.java (at line 10)\n" + >- " * @see <a href=\"invalid\" target=\"_top\">\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "7. ERROR in X.java (at line 11)\n" + >- " * @see <a href=\"invalid\" target=\"_top\">\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "8. ERROR in X.java (at line 12)\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "9. ERROR in X.java (at line 13)\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid<\n" + >- " ^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "10. ERROR in X.java (at line 14)\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid</\n" + >- " ^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "11. ERROR in X.java (at line 15)\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid</a\n" + >- " ^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "12. ERROR in X.java (at line 16)\n" + >- " * @see <a href=\"invalid\" target=\"_top\">invalid</a> no text allowed after the href\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Unexpected text\n" + >- "----------\n" >- ); >- } >- public void testBug68726negative2() { >- runNegativeTest( >- new String[] { >- "X.java", >- "/**\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">IBM Home Page\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " * IBM Home Page\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " * IBM Home Page<\n" + >- " * /a>\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " *\n" + >- " * IBM\n" + >- " *\n" + >- " * Home Page\n" + >- " *\n" + >- " *\n" + >- " * \n" + >- " * @see Unknown\n" + >- " */\n" + >- "public class X {\n" + >- "}\n" >- }, >- "----------\n" + >- "1. ERROR in X.java (at line 2)\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">IBM Home Page\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "2. ERROR in X.java (at line 3)\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " * IBM Home Page\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "3. ERROR in X.java (at line 6)\n" + >- " * IBM Home Page<\n" + >- " ^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "4. ERROR in X.java (at line 8)\n" + >- " * @see <a href=\"http:/www.ibm.com\" target=\"_top\">\n" + >- " *\n" + >- " * IBM\n" + >- " *\n" + >- " * Home Page\n" + >- " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + >- "Javadoc: Malformed link reference\n" + >- "----------\n" + >- "5. ERROR in X.java (at line 16)\n" + >- " * @see Unknown\n" + >- " ^^^^^^^\n" + >- "Javadoc: Unknown cannot be resolved to a type\n" + >- "----------\n" >- ); >- } >- >- /** > * Bug 70892: [1.5][Javadoc] Compiler should parse reference for inline tag @value > * @see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70892">70892</a> > * These two tests should pass whatever the source level... >@@ -3567,30 +3567,7 @@ > /** > * Bug 77602: [javadoc] "Only consider members as visible as" is does not work for syntax error > */ >- public void testBug77602public() { >- Map options = getCompilerOptions(); >- options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsVisibility, CompilerOptions.PUBLIC); >- runConformTest( >- new String[] { >- "X.java", >- "public class X {\n" + >- " /**\n" + >- " * @see\n" + >- " * @see UnknownClass\n" + >- " */\n" + >- " protected void foo() {\n" + >- " }\n" + >- "}\n" >- }, >- "", >- null, >- true, >- null, >- options, >- null >- ); >- } >- public void testBug77602private() { >+ public void testBug77602() { > runNegativeTest( > new String[] { > "X.java", >@@ -3616,6 +3593,22 @@ > "----------\n" > ); > } >+ public void testBug77602_Public() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runConformTest( >+ new String[] { >+ "X.java", >+ "public class X {\n" + >+ " /**\n" + >+ " * @see\n" + >+ " * @see UnknownClass\n" + >+ " */\n" + >+ " protected void foo() {\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); >+ } > > /** > * Bug 78091: [1.5][javadoc] Compiler should accept new 1.5 syntax for @param >@@ -3751,7 +3744,7 @@ > " class C { \n" + > " /**\n" + > " * Link {@link #B(Exception)} OK\n" + >- " * Link {@link #C(String)} OK\n" + >+ " * Link {@link #B.C(String)} OK\n" + > " * Link {@link #foo()} OK\n" + > " * Link {@link #bar()} OK\n" + > " */\n" + >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.24 >diff -u -r1.24 JavadocTest_1_4.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java 21 Jun 2006 08:41:18 -0000 1.24 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java 23 Jun 2006 07:47:52 -0000 >@@ -20,6 +20,7 @@ > > String docCommentSupport = CompilerOptions.ENABLED; > String reportInvalidJavadoc = CompilerOptions.ERROR; >+ String reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; > String reportMissingJavadocTags = CompilerOptions.ERROR; > String reportMissingJavadocComments = null; > String reportMissingJavadocCommentsVisibility = null; >@@ -50,6 +51,9 @@ > Map options = super.getCompilerOptions(); > options.put(CompilerOptions.OPTION_DocCommentSupport, this.docCommentSupport); > options.put(CompilerOptions.OPTION_ReportInvalidJavadoc, reportInvalidJavadoc); >+ if (!CompilerOptions.IGNORE.equals(reportInvalidJavadoc)) { >+ options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsVisibility, this.reportInvalidJavadocVisibility); >+ } > if (reportMissingJavadocComments != null) > options.put(CompilerOptions.OPTION_ReportMissingJavadocComments, reportMissingJavadocComments); > else >@@ -72,9 +76,10 @@ > protected void setUp() throws Exception { > super.setUp(); > this.docCommentSupport = CompilerOptions.ENABLED; >- reportInvalidJavadoc = CompilerOptions.ERROR; >- reportMissingJavadocTags = CompilerOptions.ERROR; >- reportMissingJavadocComments = CompilerOptions.IGNORE; >+ this.reportInvalidJavadoc = CompilerOptions.ERROR; >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ this.reportMissingJavadocTags = CompilerOptions.ERROR; >+ this.reportMissingJavadocComments = CompilerOptions.IGNORE; > } > > /** >@@ -2817,6 +2822,506 @@ > } > > /** >+ * Bug 96237: [javadoc] Inner types must be qualified >+ * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=96237" >+ */ >+ public void testBug96237_Public01() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runConformTest( >+ new String[] { >+ "comment6/Valid.java", >+ "package comment6;\n" + >+ "public class Valid {\n" + >+ " /**\n" + >+ " * @see Valid.Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Valid.Inner}\n" + >+ " */\n" + >+ "class Sub2 extends Valid { }" >+ } >+ ); >+ } >+ public void testBug96237_Public02() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6/Invalid.java", >+ "package comment6;\n" + >+ "public class Invalid {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Inner} \n" + >+ " */\n" + >+ "class Sub1 extends Invalid { }\n" >+ }, >+// comment6\Invalid.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6\\Invalid.java (at line 4)\r\n" + >+ " * @see Inner\r\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public03() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6a/def/Test.java", >+ "package comment6a.def;\n" + >+ "public class Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6a/test/Invalid.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * See also {@link Inner}\n" + >+ " */\n" + >+ "public class Invalid extends Test { \n" + >+ "}", >+ "comment6a/test/Invalid2.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Invalid2 extends Test { \n" + >+ "}" >+ }, >+// 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 >+ "----------\n" + >+ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\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" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public04() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6b/Invalid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ "public class Invalid implements Test { \n" + >+ "}", >+ "comment6b/Test.java", >+ "package comment6b;\n" + >+ "public interface Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6b/Valid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Valid implements Test { \n" + >+ "}" >+ }, >+// comment6b\Test.java:6: warning - Tag @see: reference not found: Inner >+// comment6b\Invalid.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6b\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public05() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/a/Test.java", >+ "package test.a;\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " class Inner {}\n" + >+ "}\n" >+ }, >+// test\a\Test.java:6: warning - Tag @see: reference not found: Inner >+// test\a\Test.java:6: warning - Tag @see: reference not found: Test.Inner >+ "----------\n" + >+ "1. ERROR in test\\a\\Test.java (at line 3)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\a\\Test.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public06() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/b/Test.java", >+ "package test.b;\n" + >+ "/** \n" + >+ " * @see Inner.Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " /** \n" + >+ " * @see Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ " public class Inner {\n" + >+ " class Level2 {}\n" + >+ " }\n" + >+ "}\n" >+ }, >+// test\b\Test.java:6: warning - Tag @see: reference not found: Inner.Level2 >+// test\b\Test.java:6: warning - Tag @see: reference not found: Test.Inner.Level2 >+// test\b\Test.java:11: warning - Tag @see: reference not found: Level2 >+// test\b\Test.java:11: warning - Tag @see: reference not found: Test.Inner.Level2 >+ "----------\n" + >+ "1. ERROR in test\\b\\Test.java (at line 3)\n" + >+ " * @see Inner.Level2\n" + >+ " ^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\b\\Test.java (at line 4)\n" + >+ " * @see Test.Inner.Level2\n" + >+ " ^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "3. ERROR in test\\b\\Test.java (at line 8)\n" + >+ " * @see Level2\n" + >+ " ^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "4. ERROR in test\\b\\Test.java (at line 9)\n" + >+ " * @see Test.Inner.Level2\n" + >+ " ^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public07() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/c/Test.java", >+ "package test.c;\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" >+ }, >+// test\c\Test.java:6: warning - Tag @see: reference not found: Inner.Level2.Level3 >+// test\c\Test.java:6: warning - Tag @see: reference not found: Test.Inner.Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Inner.Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Test.Inner.Level2.Level3 >+ "----------\n" + >+ "1. ERROR in test\\c\\Test.java (at line 3)\n" + >+ " * @see Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\c\\Test.java (at line 4)\n" + >+ " * @see Test.Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "3. ERROR in test\\c\\Test.java (at line 9)\n" + >+ " * @see Level3\n" + >+ " ^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "4. ERROR in test\\c\\Test.java (at line 10)\n" + >+ " * @see Level2.Level3\n" + >+ " ^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "5. ERROR in test\\c\\Test.java (at line 11)\n" + >+ " * @see Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "6. ERROR in test\\c\\Test.java (at line 12)\n" + >+ " * @see Test.Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private01() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "comment6/Valid.java", >+ "package comment6;\n" + >+ "public class Valid {\n" + >+ " /**\n" + >+ " * @see Valid.Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Valid.Inner}\n" + >+ " */\n" + >+ "class Sub2 extends Valid { }" >+ } >+ ); >+ } >+ public void testBug96237_Private02() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6/Invalid.java", >+ "package comment6;\n" + >+ "public class Invalid {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Inner} \n" + >+ " */\n" + >+ "class Sub1 extends Invalid { }\n" >+ }, >+// comment6\Invalid.java:6: warning - Tag @see: reference not found: Inner >+// comment6\Invalid.java:11: warning - Tag @link: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in comment6\\Invalid.java (at line 9)\n" + >+ " * See also {@link Inner} \n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private03() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6a/def/Test.java", >+ "package comment6a.def;\n" + >+ "public class Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6a/test/Invalid.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * See also {@link Inner}\n" + >+ " */\n" + >+ "public class Invalid extends Test { \n" + >+ "}", >+ "comment6a/test/Invalid2.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Invalid2 extends Test { \n" + >+ "}" >+ }, >+// 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 >+ "----------\n" + >+ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\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" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private04() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6b/Invalid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ "public class Invalid implements Test { \n" + >+ "}", >+ "comment6b/Test.java", >+ "package comment6b;\n" + >+ "public interface Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6b/Valid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Valid implements Test { \n" + >+ "}" >+ }, >+// comment6b\Invalid.java:6: warning - Tag @see: reference not found: Inner >+// comment6b\Test.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6b\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private05() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/a/Test.java", >+ "package test.a;\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " class Inner {}\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug96237_Private06() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/b/Test.java", >+ "package test.b;\n" + >+ "/** \n" + >+ " * @see Inner.Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " /** \n" + >+ " * @see Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ " public class Inner {\n" + >+ " class Level2 {}\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug96237_Private07() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/c/Test.java", >+ "package test.c;\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" >+ } >+ ); >+ } >+ >+ /** > * Bug 101283: [1.5][javadoc] Javadoc validation raises missing implementation in compiler > * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=101283" > */ >@@ -3013,6 +3518,343 @@ > } > > /** >+ * Bug 103304: [Javadoc] Wrong reference proposal for inner classes. >+ * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=103304" >+ */ >+ public void testBug103304a() { >+ runNegativeTest( >+ new String[] { >+ "boden/IAFAState.java", >+ "package boden;\n" + >+ "public interface IAFAState {\n" + >+ " public class ValidationException extends Exception {\n" + >+ " public ValidationException(String variableName, IAFAState subformula) {\n" + >+ " super(\"Variable \'\"+variableName+\"\' may be unbound in \'\"+subformula+\"\'\");\n" + >+ " }\n" + >+ " public void method() {}\n" + >+ " }\n" + >+ " /**\n" + >+ " * Validates a formula for consistent bindings. Bindings are consistent, when at each point in time,\n" + >+ " * the set of povided variables can be guaranteed to be a superset of the set of required variables.\n" + >+ " * @throws ValidationException Thrown if a variable is unbound. \n" + >+ " * @see ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " * @see IAFAState.ValidationException#method()\n" + >+ " * @see ValidationException\n" + >+ " * {@link ValidationException}\n" + >+ " */\n" + >+ " public void validate() throws ValidationException;\n" + >+ "}\n", >+ "boden/TestValid.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "/**\n" + >+ " * @see ValidationException\n" + >+ " * @see IAFAState.ValidationException\n" + >+ " */\n" + >+ "public class TestValid {\n" + >+ " /** \n" + >+ " * @see ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException valid1;\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException valid2;\n" + >+ "}\n" >+ }, >+// boden\TestValid.java:8: warning - Tag @see: reference not found: ValidationException >+// boden\TestValid.java:12: warning - Tag @see: reference not found: ValidationException#IAFAState.ValidationException(String, IAFAState) >+ "----------\n" + >+ "1. ERROR in boden\\TestValid.java (at line 4)\r\n" + >+ " * @see ValidationException\r\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304b() { >+ runNegativeTest( >+ new String[] { >+ "boden/IAFAState.java", >+ "package boden;\n" + >+ "public interface IAFAState {\n" + >+ " public class ValidationException extends Exception {\n" + >+ " public ValidationException(String variableName, IAFAState subformula) {\n" + >+ " super(\"Variable \'\"+variableName+\"\' may be unbound in \'\"+subformula+\"\'\");\n" + >+ " }\n" + >+ " public void method() {}\n" + >+ " }\n" + >+ "}\n", >+ "boden/TestInvalid1.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid1 {\n" + >+ " /** \n" + >+ " * @see ValidationException#ValidationException(String, IAFAState)\n" + >+ " */ \n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid2.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid2 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid3.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid3 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFA.State.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid4.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid4 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFAState .ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n" >+ }, >+// boden\TestInvalid1.java:7: warning - Tag @see: reference not found: ValidationException#ValidationException(String, IAFAState) >+// boden\TestInvalid2.java:6: warning - Tag @see: can't find ValidationException(String, IAFAState) in boden.IAFAState.ValidationException >+// boden\TestInvalid3.java:6: warning - Tag @see: can't find IAFA.State.ValidationException(String, IAFAState) in boden.IAFAState.ValidationException >+// boden\TestInvalid4.java:6: warning - Tag @see: can't find IAFAState in boden.IAFAState.ValidationException >+ "----------\n" + >+ "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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\n" + >+ "1. ERROR in boden\\TestInvalid4.java (at line 5)\n" + >+ " * @see IAFAState.ValidationException#IAFAState .ValidationException(String, IAFAState)\n" + >+ " ^^^^^^^^^\n" + >+ "Javadoc: IAFAState cannot be resolved or is not a field\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304c() { >+ runNegativeTest( >+ new String[] { >+ "test/Test.java", >+ "package test;\n" + >+ "public interface Test {\n" + >+ " public class Level0 {\n" + >+ " public Level0() {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " public Level1() {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n", >+ "test/C.java", >+ "package test;\n" + >+ "public class C {\n" + >+ " /**\n" + >+ " * @see Test.Level0#Test.Level0()\n" + >+ " */\n" + >+ " Test.Level0 valid = new Test.Level0();\n" + >+ " /**\n" + >+ " * @see Test.Level0#Level0()\n" + >+ " */\n" + >+ " Test.Level0 invalid = new Test.Level0();\n" + >+ "}\n" >+ }, >+// test\C.java:10: warning - Tag @see: can't find Level0() in test.Test.Level0 >+ "----------\n" + >+ "1. ERROR in test\\C.java (at line 8)\n" + >+ " * @see Test.Level0#Level0()\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304d() { >+ runNegativeTest( >+ new String[] { >+ "test/Test.java", >+ "package test;\n" + >+ "public interface Test {\n" + >+ " public class Level0 {\n" + >+ " public Level0() {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " public Level1() {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n", >+ "test/C2.java", >+ "package test;\n" + >+ "public class C2 {\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Test.Member.Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 valid = new Test.Member.Level1();\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 invalid = new Test.Member.Level1();\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Test.Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 wrong = new Test.Member.Level1();\n" + >+ "}\n" >+ }, >+// test\C2.java:10: warning - Tag @see: can't find Level1() in test.Test.Member.Level1 >+// test\C2.java:14: warning - Tag @see: can't find Test.Level1() in test.Test.Member.Level1 >+ "----------\n" + >+ "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" + >+ "----------\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" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304e() { >+ runConformTest( >+ new String[] { >+ "implicit/Valid.java", >+ "package implicit;\n" + >+ "public interface Valid {\n" + >+ " public class Level0 {\n" + >+ " /**\n" + >+ " * @see #Valid.Level0() Valid\n" + >+ " */\n" + >+ " public Level0() {}\n" + >+ " /**\n" + >+ " * @see #Valid.Level0(String) Valid\n" + >+ " */\n" + >+ " public Level0(String str) {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " /**\n" + >+ " * @see #Valid.Member.Level1() Valid\n" + >+ " */\n" + >+ " public Level1() {}\n" + >+ " /**\n" + >+ " * @see #Valid.Member.Level1(int) Valid\n" + >+ " */\n" + >+ " public Level1(int x) {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug103304f() { >+ runNegativeTest( >+ new String[] { >+ "implicit/Invalid.java", >+ "package implicit;\n" + >+ "public interface Invalid {\n" + >+ " public class Level0 {\n" + >+ " /**\n" + >+ " * @see #Level0() Invalid\n" + >+ " */\n" + >+ " public Level0() {}\n" + >+ " /**\n" + >+ " * @see #Level0(String) Invalid\n" + >+ " */\n" + >+ " public Level0(String str) {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " /**\n" + >+ " * @see #Level1() Invalid\n" + >+ " * @see #Member.Level1() Invalid\n" + >+ " * @see #Invalid.Level1() Invalid\n" + >+ " */\n" + >+ " public Level1() {}\n" + >+ " /**\n" + >+ " * @see #Level1(int) Invalid\n" + >+ " * @see #Invalid.Level1(int) Invalid\n" + >+ " * @see #Member.Level1(int) Invalid\n" + >+ " */\n" + >+ " public Level1(int x) {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ }, >+// implicit\Invalid.java:7: warning - Tag @see: can't find Level0() in implicit.Invalid.Level0 >+// implicit\Invalid.java:11: warning - Tag @see: can't find Level0(String) in implicit.Invalid.Level0 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Member.Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Invalid.Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Level1(int) in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Invalid.Level1(int) in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Member.Level1(int) in implicit.Invalid.Member.Level1 >+ "----------\n" + >+ "1. ERROR in implicit\\Invalid.java (at line 5)\n" + >+ " * @see #Level0() Invalid\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\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" + >+ "----------\n" + >+ "3. ERROR in implicit\\Invalid.java (at line 16)\n" + >+ " * @see #Level1() Invalid\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\n" >+ ); >+ } >+ >+ /** > * Bug 112346: [javadoc] {@inheritedDoc} should be inactive for non-overridden method > * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=112346" > */ >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.21 >diff -u -r1.21 JavadocTestForMethod.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java 9 Jun 2006 10:20:55 -0000 1.21 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java 23 Jun 2006 07:47:48 -0000 >@@ -2018,18 +2018,21 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + "import test.copy.*;\n" >- + "public class X {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public void s_foo() {\n" >- + " }\n" >- + "}\n" }); >+ "package test;\n" + >+ "import test.copy.*;\n" + >+ "public class X {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public void s_foo() {\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); > } > > public void test093() { >@@ -2077,17 +2080,20 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + "public class X {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public void s_foo() {\n" >- + " }\n" >- + "}\n" }); >+ "package test;\n" + >+ "public class X {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public void s_foo() {\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); > } > > public void test095() { >Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest.java,v >retrieving revision 1.37 >diff -u -r1.37 JavadocTest.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest.java 30 Mar 2006 15:26:50 -0000 1.37 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest.java 23 Jun 2006 07:47:43 -0000 >@@ -100,6 +100,7 @@ > options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsDeprecatedRef, CompilerOptions.ENABLED); > options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsNotVisibleRef, CompilerOptions.ENABLED); > options.put(CompilerOptions.OPTION_ReportMissingJavadocTagsVisibility, CompilerOptions.PRIVATE); >+ options.put(CompilerOptions.OPTION_ReportMissingSerialVersion, CompilerOptions.IGNORE); > return options; > } > >@@ -120,154 +121,154 @@ > referencedClasses = > new String[] { > "test/AbstractVisibility.java", >- "package test;\n" >- + "public abstract class AbstractVisibility {\n" >- + " private class AvcPrivate {\n" >- + " private int avf_private = 10;\n" >- + " public int avf_public = avf_private;\n" >- + " private int avm_private() {\n" >- + " avf_private = (new AvcPrivate()).avf_private;\n" >- + " return avf_private;\n" >- + " }\n" >- + " public int avm_public() {\n" >- + " return avm_private();\n" >- + " }\n" >- + " }\n" >- + " public class AvcPublic {\n" >- + " private int avf_private = 10;\n" >- + " public int avf_public = avf_private;\n" >- + " private int avm_private() {\n" >- + " avf_private = (new AvcPrivate()).avf_private;\n" >- + " return avf_private;\n" >- + " }\n" >- + " public int avm_public() {\n" >- + " return avm_private();\n" >- + " }\n" >- + " }\n" >- + " private int avf_private = 100;\n" >- + " public int avf_public = avf_private;\n" >- + " \n" >- + " private int avm_private() {\n" >- + " avf_private = (new AvcPrivate()).avf_private;\n" >- + " return avf_private;\n" >- + " }\n" >- + " public int avm_public() {\n" >- + " return avm_private();\n" >- + " }\n" >- + "}\n", >+ "package test;\n" + >+ "public abstract class AbstractVisibility {\n" + >+ " private class AvcPrivate {\n" + >+ " private int avf_private = 10;\n" + >+ " public int avf_public = avf_private;\n" + >+ " private int avm_private() {\n" + >+ " avf_private = (new AvcPrivate()).avf_private;\n" + >+ " return avf_private;\n" + >+ " }\n" + >+ " public int avm_public() {\n" + >+ " return avm_private();\n" + >+ " }\n" + >+ " }\n" + >+ " public class AvcPublic {\n" + >+ " private int avf_private = 10;\n" + >+ " public int avf_public = avf_private;\n" + >+ " private int avm_private() {\n" + >+ " avf_private = (new AvcPrivate()).avf_private;\n" + >+ " return avf_private;\n" + >+ " }\n" + >+ " public int avm_public() {\n" + >+ " return avm_private();\n" + >+ " }\n" + >+ " }\n" + >+ " private int avf_private = 100;\n" + >+ " public int avf_public = avf_private;\n" + >+ " \n" + >+ " private int avm_private() {\n" + >+ " avf_private = (new AvcPrivate()).avf_private;\n" + >+ " return avf_private;\n" + >+ " }\n" + >+ " public int avm_public() {\n" + >+ " return avm_private();\n" + >+ " }\n" + >+ "}\n", > "test/Visibility.java", >- "package test;\n" >- + "public class Visibility extends AbstractVisibility {\n" >- + " private class VcPrivate {\n" >- + " private int vf_private = 10;\n" >- + " public int vf_public = vf_private;\n" >- + " private int vm_private() {\n" >- + " vf_private = (new VcPrivate()).vf_private;\n" >- + " avf_private = vf_private;\n" >- + " return vf_private+avf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + " };\n" >- + " public class VcPublic {\n" >- + " private int vf_private = 10;\n" >- + " public int vf_public = vf_private;\n" >- + " private int vm_private() {\n" >- + " vf_private = (new VcPrivate()).vf_private;\n" >- + " avf_private = vf_private;\n" >- + " return vf_private+avf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + " };\n" >- + " private int vf_private = 100;\n" >- + " private int avf_private = 100;\n" >- + " public int vf_public = vf_private;\n" >- + " public int avf_public = vf_private;\n" >- + " \n" >- + " private int vm_private() {\n" >- + " vf_private = (new VcPrivate()).vf_private;\n" >- + " avf_private = vf_private;\n" >- + " return vf_private+avf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + "}\n", >+ "package test;\n" + >+ "public class Visibility extends AbstractVisibility {\n" + >+ " private class VcPrivate {\n" + >+ " private int vf_private = 10;\n" + >+ " public int vf_public = vf_private;\n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VcPrivate()).vf_private;\n" + >+ " avf_private = vf_private;\n" + >+ " return vf_private+avf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ " };\n" + >+ " public class VcPublic {\n" + >+ " private int vf_private = 10;\n" + >+ " public int vf_public = vf_private;\n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VcPrivate()).vf_private;\n" + >+ " avf_private = vf_private;\n" + >+ " return vf_private+avf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ " };\n" + >+ " private int vf_private = 100;\n" + >+ " private int avf_private = 100;\n" + >+ " public int vf_public = vf_private;\n" + >+ " public int avf_public = vf_private;\n" + >+ " \n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VcPrivate()).vf_private;\n" + >+ " avf_private = vf_private;\n" + >+ " return vf_private+avf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ "}\n", > "test/copy/VisibilityPackage.java", >- "package test.copy;\n" >- + "class VisibilityPackage {\n" >- + " private class VpPrivate {\n" >- + " private int vf_private = 10;\n" >- + " public int vf_public = vf_private;\n" >- + " private int vm_private() {\n" >- + " vf_private = (new VpPrivate()).vf_private;\n" >- + " return vf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + " }\n" >- + " public class VpPublic {\n" >- + " private int vf_private = 10;\n" >- + " public int vf_public = vf_private;\n" >- + " private int vm_private() {\n" >- + " vf_private = (new VpPrivate()).vf_private;\n" >- + " return vf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + " }\n" >- + " private int vf_private = 100;\n" >- + " public int vf_public = vf_private;\n" >- + " \n" >- + " private int vm_private() {\n" >- + " vf_private = (new VpPrivate()).vf_private;\n" >- + " return vf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + "}\n", >+ "package test.copy;\n" + >+ "class VisibilityPackage {\n" + >+ " private class VpPrivate {\n" + >+ " private int vf_private = 10;\n" + >+ " public int vf_public = vf_private;\n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VpPrivate()).vf_private;\n" + >+ " return vf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ " }\n" + >+ " public class VpPublic {\n" + >+ " private int vf_private = 10;\n" + >+ " public int vf_public = vf_private;\n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VpPrivate()).vf_private;\n" + >+ " return vf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ " }\n" + >+ " private int vf_private = 100;\n" + >+ " public int vf_public = vf_private;\n" + >+ " \n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VpPrivate()).vf_private;\n" + >+ " return vf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ "}\n", > "test/copy/VisibilityPublic.java", >- "package test.copy;\n" >- + "public class VisibilityPublic {\n" >- + " private class VpPrivate {\n" >- + " private int vf_private = 10;\n" >- + " public int vf_public = vf_private;\n" >- + " private int vm_private() {\n" >- + " vf_private = (new VpPrivate()).vf_private;\n" >- + " return vf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + " }\n" >- + " public class VpPublic {\n" >- + " private int vf_private = 10;\n" >- + " public int vf_public = vf_private;\n" >- + " private int vm_private() {\n" >- + " vf_private = (new VpPrivate()).vf_private;\n" >- + " return vf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + " }\n" >- + " private int vf_private = 100;\n" >- + " public int vf_public = vf_private;\n" >- + " \n" >- + " private int vm_private() {\n" >- + " vf_private = (new VpPrivate()).vf_private;\n" >- + " return vf_private;\n" >- + " }\n" >- + " public int vm_public() {\n" >- + " return vm_private();\n" >- + " }\n" >- + "}\n" }; >+ "package test.copy;\n" + >+ "public class VisibilityPublic {\n" + >+ " private class VpPrivate {\n" + >+ " private int vf_private = 10;\n" + >+ " public int vf_public = vf_private;\n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VpPrivate()).vf_private;\n" + >+ " return vf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ " }\n" + >+ " public class VpPublic {\n" + >+ " private int vf_private = 10;\n" + >+ " public int vf_public = vf_private;\n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VpPrivate()).vf_private;\n" + >+ " return vf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ " }\n" + >+ " private int vf_private = 100;\n" + >+ " public int vf_public = vf_private;\n" + >+ " \n" + >+ " private int vm_private() {\n" + >+ " vf_private = (new VpPrivate()).vf_private;\n" + >+ " return vf_private;\n" + >+ " }\n" + >+ " public int vm_public() {\n" + >+ " return vm_private();\n" + >+ " }\n" + >+ "}\n" }; > } > /* (non-Javadoc) > * @see junit.framework.TestCase#setUp() >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.15 >diff -u -r1.15 JavadocTestForClass.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForClass.java 29 Mar 2006 03:50:22 -0000 1.15 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForClass.java 23 Jun 2006 07:47:44 -0000 >@@ -388,18 +388,21 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + "import test.copy.*;\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + "public class X {\n" >- + " public void s_foo() {\n" >- + " }\n" >- + "}\n" }); >+ "package test;\n" + >+ "import test.copy.*;\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ "public class X {\n" + >+ " public void s_foo() {\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); > } > > public void test023() { >@@ -435,17 +438,20 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + "public class X {\n" >- + " public void s_foo() {\n" >- + " }\n" >- + "}\n" }); >+ "package test;\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ "public class X {\n" + >+ " public void s_foo() {\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); > } > > // @see Field references >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.21 >diff -u -r1.21 JavadocTest_1_3.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java 21 Jun 2006 08:41:18 -0000 1.21 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java 23 Jun 2006 07:47:51 -0000 >@@ -20,6 +20,7 @@ > > String docCommentSupport = CompilerOptions.ENABLED; > String reportInvalidJavadoc = CompilerOptions.ERROR; >+ String reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; > String reportMissingJavadocTags = CompilerOptions.ERROR; > String reportMissingJavadocComments = null; > String reportMissingJavadocCommentsVisibility = null; >@@ -49,6 +50,9 @@ > Map options = super.getCompilerOptions(); > options.put(CompilerOptions.OPTION_DocCommentSupport, this.docCommentSupport); > options.put(CompilerOptions.OPTION_ReportInvalidJavadoc, reportInvalidJavadoc); >+ if (!CompilerOptions.IGNORE.equals(reportInvalidJavadoc)) { >+ options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsVisibility, this.reportInvalidJavadocVisibility); >+ } > if (reportMissingJavadocComments != null) > options.put(CompilerOptions.OPTION_ReportMissingJavadocComments, reportMissingJavadocComments); > else >@@ -71,9 +75,10 @@ > protected void setUp() throws Exception { > super.setUp(); > this.docCommentSupport = CompilerOptions.ENABLED; >- reportInvalidJavadoc = CompilerOptions.ERROR; >- reportMissingJavadocTags = CompilerOptions.ERROR; >- reportMissingJavadocComments = CompilerOptions.IGNORE; >+ this.reportInvalidJavadoc = CompilerOptions.ERROR; >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ this.reportMissingJavadocTags = CompilerOptions.ERROR; >+ this.reportMissingJavadocComments = CompilerOptions.IGNORE; > } > > /** >@@ -2546,6 +2551,505 @@ > "" > ); > } >+ /** >+ * Bug 96237: [javadoc] Inner types must be qualified >+ * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=96237" >+ */ >+ public void testBug96237_Public01() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runConformTest( >+ new String[] { >+ "comment6/Valid.java", >+ "package comment6;\n" + >+ "public class Valid {\n" + >+ " /**\n" + >+ " * @see Valid.Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Valid.Inner}\n" + >+ " */\n" + >+ "class Sub2 extends Valid { }" >+ } >+ ); >+ } >+ public void testBug96237_Public02() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6/Invalid.java", >+ "package comment6;\n" + >+ "public class Invalid {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Inner} \n" + >+ " */\n" + >+ "class Sub1 extends Invalid { }\n" >+ }, >+// comment6\Invalid.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6\\Invalid.java (at line 4)\r\n" + >+ " * @see Inner\r\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public03() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6a/def/Test.java", >+ "package comment6a.def;\n" + >+ "public class Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6a/test/Invalid.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * See also {@link Inner}\n" + >+ " */\n" + >+ "public class Invalid extends Test { \n" + >+ "}", >+ "comment6a/test/Invalid2.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Invalid2 extends Test { \n" + >+ "}" >+ }, >+// 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 >+ "----------\n" + >+ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\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" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public04() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6b/Invalid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ "public class Invalid implements Test { \n" + >+ "}", >+ "comment6b/Test.java", >+ "package comment6b;\n" + >+ "public interface Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6b/Valid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Valid implements Test { \n" + >+ "}" >+ }, >+// comment6b\Test.java:6: warning - Tag @see: reference not found: Inner >+// comment6b\Invalid.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6b\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public05() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/a/Test.java", >+ "package test.a;\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " class Inner {}\n" + >+ "}\n" >+ }, >+// test\a\Test.java:6: warning - Tag @see: reference not found: Inner >+// test\a\Test.java:6: warning - Tag @see: reference not found: Test.Inner >+ "----------\n" + >+ "1. ERROR in test\\a\\Test.java (at line 3)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\a\\Test.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public06() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/b/Test.java", >+ "package test.b;\n" + >+ "/** \n" + >+ " * @see Inner.Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " /** \n" + >+ " * @see Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ " public class Inner {\n" + >+ " class Level2 {}\n" + >+ " }\n" + >+ "}\n" >+ }, >+// test\b\Test.java:6: warning - Tag @see: reference not found: Inner.Level2 >+// test\b\Test.java:6: warning - Tag @see: reference not found: Test.Inner.Level2 >+// test\b\Test.java:11: warning - Tag @see: reference not found: Level2 >+// test\b\Test.java:11: warning - Tag @see: reference not found: Test.Inner.Level2 >+ "----------\n" + >+ "1. ERROR in test\\b\\Test.java (at line 3)\n" + >+ " * @see Inner.Level2\n" + >+ " ^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\b\\Test.java (at line 4)\n" + >+ " * @see Test.Inner.Level2\n" + >+ " ^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "3. ERROR in test\\b\\Test.java (at line 8)\n" + >+ " * @see Level2\n" + >+ " ^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "4. ERROR in test\\b\\Test.java (at line 9)\n" + >+ " * @see Test.Inner.Level2\n" + >+ " ^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public07() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/c/Test.java", >+ "package test.c;\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" >+ }, >+// test\c\Test.java:6: warning - Tag @see: reference not found: Inner.Level2.Level3 >+// test\c\Test.java:6: warning - Tag @see: reference not found: Test.Inner.Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Inner.Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Test.Inner.Level2.Level3 >+ "----------\n" + >+ "1. ERROR in test\\c\\Test.java (at line 3)\n" + >+ " * @see Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\c\\Test.java (at line 4)\n" + >+ " * @see Test.Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "3. ERROR in test\\c\\Test.java (at line 9)\n" + >+ " * @see Level3\n" + >+ " ^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "4. ERROR in test\\c\\Test.java (at line 10)\n" + >+ " * @see Level2.Level3\n" + >+ " ^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "5. ERROR in test\\c\\Test.java (at line 11)\n" + >+ " * @see Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "6. ERROR in test\\c\\Test.java (at line 12)\n" + >+ " * @see Test.Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private01() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "comment6/Valid.java", >+ "package comment6;\n" + >+ "public class Valid {\n" + >+ " /**\n" + >+ " * @see Valid.Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Valid.Inner}\n" + >+ " */\n" + >+ "class Sub2 extends Valid { }" >+ } >+ ); >+ } >+ public void testBug96237_Private02() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6/Invalid.java", >+ "package comment6;\n" + >+ "public class Invalid {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Inner} \n" + >+ " */\n" + >+ "class Sub1 extends Invalid { }\n" >+ }, >+// comment6\Invalid.java:6: warning - Tag @see: reference not found: Inner >+// comment6\Invalid.java:11: warning - Tag @link: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in comment6\\Invalid.java (at line 9)\n" + >+ " * See also {@link Inner} \n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private03() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6a/def/Test.java", >+ "package comment6a.def;\n" + >+ "public class Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6a/test/Invalid.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * See also {@link Inner}\n" + >+ " */\n" + >+ "public class Invalid extends Test { \n" + >+ "}", >+ "comment6a/test/Invalid2.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Invalid2 extends Test { \n" + >+ "}" >+ }, >+// 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 >+ "----------\n" + >+ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\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" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private04() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6b/Invalid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ "public class Invalid implements Test { \n" + >+ "}", >+ "comment6b/Test.java", >+ "package comment6b;\n" + >+ "public interface Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6b/Valid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Valid implements Test { \n" + >+ "}" >+ }, >+// comment6b\Invalid.java:6: warning - Tag @see: reference not found: Inner >+// comment6b\Test.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6b\\Test.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private05() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/a/Test.java", >+ "package test.a;\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " class Inner {}\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug96237_Private06() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/b/Test.java", >+ "package test.b;\n" + >+ "/** \n" + >+ " * @see Inner.Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " /** \n" + >+ " * @see Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ " public class Inner {\n" + >+ " class Level2 {}\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug96237_Private07() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/c/Test.java", >+ "package test.c;\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" >+ } >+ ); >+ } > > /** > * Bug 95286: [1.5][javadoc] package-info.java incorrectly flags "Missing comment for public declaration" >@@ -3020,6 +3524,343 @@ > } > > /** >+ * Bug 103304: [Javadoc] Wrong reference proposal for inner classes. >+ * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=103304" >+ */ >+ public void testBug103304a() { >+ runNegativeTest( >+ new String[] { >+ "boden/IAFAState.java", >+ "package boden;\n" + >+ "public interface IAFAState {\n" + >+ " public class ValidationException extends Exception {\n" + >+ " public ValidationException(String variableName, IAFAState subformula) {\n" + >+ " super(\"Variable \'\"+variableName+\"\' may be unbound in \'\"+subformula+\"\'\");\n" + >+ " }\n" + >+ " public void method() {}\n" + >+ " }\n" + >+ " /**\n" + >+ " * Validates a formula for consistent bindings. Bindings are consistent, when at each point in time,\n" + >+ " * the set of povided variables can be guaranteed to be a superset of the set of required variables.\n" + >+ " * @throws ValidationException Thrown if a variable is unbound. \n" + >+ " * @see ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " * @see IAFAState.ValidationException#method()\n" + >+ " * @see ValidationException\n" + >+ " * {@link ValidationException}\n" + >+ " */\n" + >+ " public void validate() throws ValidationException;\n" + >+ "}\n", >+ "boden/TestValid.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "/**\n" + >+ " * @see ValidationException\n" + >+ " * @see IAFAState.ValidationException\n" + >+ " */\n" + >+ "public class TestValid {\n" + >+ " /** \n" + >+ " * @see ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException valid1;\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException valid2;\n" + >+ "}\n" >+ }, >+// boden\TestValid.java:8: warning - Tag @see: reference not found: ValidationException >+// boden\TestValid.java:12: warning - Tag @see: reference not found: ValidationException#IAFAState.ValidationException(String, IAFAState) >+ "----------\n" + >+ "1. ERROR in boden\\TestValid.java (at line 4)\r\n" + >+ " * @see ValidationException\r\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304b() { >+ runNegativeTest( >+ new String[] { >+ "boden/IAFAState.java", >+ "package boden;\n" + >+ "public interface IAFAState {\n" + >+ " public class ValidationException extends Exception {\n" + >+ " public ValidationException(String variableName, IAFAState subformula) {\n" + >+ " super(\"Variable \'\"+variableName+\"\' may be unbound in \'\"+subformula+\"\'\");\n" + >+ " }\n" + >+ " public void method() {}\n" + >+ " }\n" + >+ "}\n", >+ "boden/TestInvalid1.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid1 {\n" + >+ " /** \n" + >+ " * @see ValidationException#ValidationException(String, IAFAState)\n" + >+ " */ \n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid2.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid2 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid3.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid3 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFA.State.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid4.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid4 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFAState .ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n" >+ }, >+// boden\TestInvalid1.java:7: warning - Tag @see: reference not found: ValidationException#ValidationException(String, IAFAState) >+// boden\TestInvalid2.java:6: warning - Tag @see: can't find ValidationException(String, IAFAState) in boden.IAFAState.ValidationException >+// boden\TestInvalid3.java:6: warning - Tag @see: can't find IAFA.State.ValidationException(String, IAFAState) in boden.IAFAState.ValidationException >+// boden\TestInvalid4.java:6: warning - Tag @see: can't find IAFAState in boden.IAFAState.ValidationException >+ "----------\n" + >+ "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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\n" + >+ "1. ERROR in boden\\TestInvalid4.java (at line 5)\n" + >+ " * @see IAFAState.ValidationException#IAFAState .ValidationException(String, IAFAState)\n" + >+ " ^^^^^^^^^\n" + >+ "Javadoc: IAFAState cannot be resolved or is not a field\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304c() { >+ runNegativeTest( >+ new String[] { >+ "test/Test.java", >+ "package test;\n" + >+ "public interface Test {\n" + >+ " public class Level0 {\n" + >+ " public Level0() {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " public Level1() {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n", >+ "test/C.java", >+ "package test;\n" + >+ "public class C {\n" + >+ " /**\n" + >+ " * @see Test.Level0#Test.Level0()\n" + >+ " */\n" + >+ " Test.Level0 valid = new Test.Level0();\n" + >+ " /**\n" + >+ " * @see Test.Level0#Level0()\n" + >+ " */\n" + >+ " Test.Level0 invalid = new Test.Level0();\n" + >+ "}\n" >+ }, >+// test\C.java:10: warning - Tag @see: can't find Level0() in test.Test.Level0 >+ "----------\n" + >+ "1. ERROR in test\\C.java (at line 8)\n" + >+ " * @see Test.Level0#Level0()\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304d() { >+ runNegativeTest( >+ new String[] { >+ "test/Test.java", >+ "package test;\n" + >+ "public interface Test {\n" + >+ " public class Level0 {\n" + >+ " public Level0() {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " public Level1() {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n", >+ "test/C2.java", >+ "package test;\n" + >+ "public class C2 {\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Test.Member.Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 valid = new Test.Member.Level1();\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 invalid = new Test.Member.Level1();\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Test.Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 wrong = new Test.Member.Level1();\n" + >+ "}\n" >+ }, >+// test\C2.java:10: warning - Tag @see: can't find Level1() in test.Test.Member.Level1 >+// test\C2.java:14: warning - Tag @see: can't find Test.Level1() in test.Test.Member.Level1 >+ "----------\n" + >+ "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" + >+ "----------\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" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304e() { >+ runConformTest( >+ new String[] { >+ "implicit/Valid.java", >+ "package implicit;\n" + >+ "public interface Valid {\n" + >+ " public class Level0 {\n" + >+ " /**\n" + >+ " * @see #Valid.Level0() Valid\n" + >+ " */\n" + >+ " public Level0() {}\n" + >+ " /**\n" + >+ " * @see #Valid.Level0(String) Valid\n" + >+ " */\n" + >+ " public Level0(String str) {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " /**\n" + >+ " * @see #Valid.Member.Level1() Valid\n" + >+ " */\n" + >+ " public Level1() {}\n" + >+ " /**\n" + >+ " * @see #Valid.Member.Level1(int) Valid\n" + >+ " */\n" + >+ " public Level1(int x) {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug103304f() { >+ runNegativeTest( >+ new String[] { >+ "implicit/Invalid.java", >+ "package implicit;\n" + >+ "public interface Invalid {\n" + >+ " public class Level0 {\n" + >+ " /**\n" + >+ " * @see #Level0() Invalid\n" + >+ " */\n" + >+ " public Level0() {}\n" + >+ " /**\n" + >+ " * @see #Level0(String) Invalid\n" + >+ " */\n" + >+ " public Level0(String str) {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " /**\n" + >+ " * @see #Level1() Invalid\n" + >+ " * @see #Member.Level1() Invalid\n" + >+ " * @see #Invalid.Level1() Invalid\n" + >+ " */\n" + >+ " public Level1() {}\n" + >+ " /**\n" + >+ " * @see #Level1(int) Invalid\n" + >+ " * @see #Invalid.Level1(int) Invalid\n" + >+ " * @see #Member.Level1(int) Invalid\n" + >+ " */\n" + >+ " public Level1(int x) {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ }, >+// implicit\Invalid.java:7: warning - Tag @see: can't find Level0() in implicit.Invalid.Level0 >+// implicit\Invalid.java:11: warning - Tag @see: can't find Level0(String) in implicit.Invalid.Level0 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Member.Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Invalid.Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Level1(int) in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Invalid.Level1(int) in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Member.Level1(int) in implicit.Invalid.Member.Level1 >+ "----------\n" + >+ "1. ERROR in implicit\\Invalid.java (at line 5)\n" + >+ " * @see #Level0() Invalid\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\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" + >+ "----------\n" + >+ "3. ERROR in implicit\\Invalid.java (at line 16)\n" + >+ " * @see #Level1() Invalid\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\n" >+ ); >+ } >+ >+ /** > * Bug 112346: [javadoc] {@inheritedDoc} should be inactive for non-overridden method > * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=112346" > */ >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.27 >diff -u -r1.27 JavadocTest_1_5.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java 21 Jun 2006 08:41:18 -0000 1.27 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java 23 Jun 2006 07:47:53 -0000 >@@ -20,6 +20,7 @@ > > String docCommentSupport = CompilerOptions.ENABLED; > String reportInvalidJavadoc = CompilerOptions.ERROR; >+ String reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; > String reportMissingJavadocTags = CompilerOptions.ERROR; > String reportMissingJavadocTagsOverriding = CompilerOptions.ENABLED; > String reportMissingJavadocComments = null; >@@ -49,6 +50,9 @@ > Map options = super.getCompilerOptions(); > options.put(CompilerOptions.OPTION_DocCommentSupport, this.docCommentSupport); > options.put(CompilerOptions.OPTION_ReportInvalidJavadoc, reportInvalidJavadoc); >+ if (!CompilerOptions.IGNORE.equals(reportInvalidJavadoc)) { >+ options.put(CompilerOptions.OPTION_ReportInvalidJavadocTagsVisibility, this.reportInvalidJavadocVisibility); >+ } > if (reportMissingJavadocComments != null) > options.put(CompilerOptions.OPTION_ReportMissingJavadocComments, reportMissingJavadocComments); > else >@@ -75,10 +79,11 @@ > protected void setUp() throws Exception { > super.setUp(); > this.docCommentSupport = CompilerOptions.ENABLED; >- reportInvalidJavadoc = CompilerOptions.ERROR; >- reportMissingJavadocTags = CompilerOptions.ERROR; >- reportMissingJavadocTagsOverriding = CompilerOptions.ENABLED; >- reportMissingJavadocComments = CompilerOptions.IGNORE; >+ this.reportInvalidJavadoc = CompilerOptions.ERROR; >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ this.reportMissingJavadocTags = CompilerOptions.ERROR; >+ this.reportMissingJavadocTagsOverriding = CompilerOptions.ENABLED; >+ this.reportMissingJavadocComments = CompilerOptions.IGNORE; > } > > /** >@@ -1899,6 +1904,465 @@ > } > > /** >+ * Bug 96237: [javadoc] Inner types must be qualified >+ * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=96237" >+ */ >+ public void testBug96237_Public01() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runConformTest( >+ new String[] { >+ "comment6/Valid.java", >+ "package comment6;\n" + >+ "public class Valid {\n" + >+ " /**\n" + >+ " * @see Valid.Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Valid.Inner}\n" + >+ " */\n" + >+ "class Sub2 extends Valid { }" >+ } >+ ); >+ } >+ public void testBug96237_Public02() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runConformTest( >+ new String[] { >+ "comment6/Invalid.java", >+ "package comment6;\n" + >+ "public class Invalid {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Inner} \n" + >+ " */\n" + >+ "class Sub1 extends Invalid { }\n" >+ } >+ ); >+ } >+ public void testBug96237_Public03() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6a/def/Test.java", >+ "package comment6a.def;\n" + >+ "public class Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6a/test/Invalid.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * See also {@link Inner}\n" + >+ " */\n" + >+ "public class Invalid extends Test { \n" + >+ "}", >+ "comment6a/test/Invalid2.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Invalid2 extends Test { \n" + >+ "}" >+ }, >+// 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 >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + >+ " * See also {@link Inner}\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public04() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "comment6b/Invalid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ "public class Invalid implements Test { \n" + >+ "}", >+ "comment6b/Test.java", >+ "package comment6b;\n" + >+ "public interface Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6b/Valid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Valid implements Test { \n" + >+ "}" >+ }, >+// comment6b\Invalid.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public05() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/a/Test.java", >+ "package test.a;\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " class Inner {}\n" + >+ "}\n" >+ }, >+// test\a\Test.java:6: warning - Tag @see: reference not found: Inner >+// test\a\Test.java:6: warning - Tag @see: reference not found: Test.Inner >+ "----------\n" + >+ "1. ERROR in test\\a\\Test.java (at line 3)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\a\\Test.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public06() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/b/Test.java", >+ "package test.b;\n" + >+ "/** \n" + >+ " * @see Inner.Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " /** \n" + >+ " * @see Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ " public class Inner {\n" + >+ " class Level2 {}\n" + >+ " }\n" + >+ "}\n" >+ }, >+// test\b\Test.java:6: warning - Tag @see: reference not found: Inner.Level2 >+// test\b\Test.java:6: warning - Tag @see: reference not found: Test.Inner.Level2 >+// test\b\Test.java:11: warning - Tag @see: reference not found: Level2 >+// test\b\Test.java:11: warning - Tag @see: reference not found: Test.Inner.Level2 >+ "----------\n" + >+ "1. ERROR in test\\b\\Test.java (at line 3)\n" + >+ " * @see Inner.Level2\n" + >+ " ^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\b\\Test.java (at line 4)\n" + >+ " * @see Test.Inner.Level2\n" + >+ " ^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "3. ERROR in test\\b\\Test.java (at line 8)\n" + >+ " * @see Level2\n" + >+ " ^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "4. ERROR in test\\b\\Test.java (at line 9)\n" + >+ " * @see Test.Inner.Level2\n" + >+ " ^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Public07() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; >+ runNegativeTest( >+ new String[] { >+ "test/c/Test.java", >+ "package test.c;\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" >+ }, >+// test\c\Test.java:6: warning - Tag @see: reference not found: Inner.Level2.Level3 >+// test\c\Test.java:6: warning - Tag @see: reference not found: Test.Inner.Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Inner.Level2.Level3 >+// test\c\Test.java:14: warning - Tag @see: reference not found: Test.Inner.Level2.Level3 >+ "----------\n" + >+ "1. ERROR in test\\c\\Test.java (at line 3)\n" + >+ " * @see Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "2. ERROR in test\\c\\Test.java (at line 4)\n" + >+ " * @see Test.Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "3. ERROR in test\\c\\Test.java (at line 9)\n" + >+ " * @see Level3\n" + >+ " ^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "4. ERROR in test\\c\\Test.java (at line 10)\n" + >+ " * @see Level2.Level3\n" + >+ " ^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "5. ERROR in test\\c\\Test.java (at line 11)\n" + >+ " * @see Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "6. ERROR in test\\c\\Test.java (at line 12)\n" + >+ " * @see Test.Inner.Level2.Level3\n" + >+ " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private01() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "comment6/Valid.java", >+ "package comment6;\n" + >+ "public class Valid {\n" + >+ " /**\n" + >+ " * @see Valid.Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Valid.Inner}\n" + >+ " */\n" + >+ "class Sub2 extends Valid { }" >+ } >+ ); >+ } >+ public void testBug96237_Private02() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6/Invalid.java", >+ "package comment6;\n" + >+ "public class Invalid {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n" + >+ "/**\n" + >+ " * See also {@link Inner} \n" + >+ " */\n" + >+ "class Sub1 extends Invalid { }\n" >+ }, >+// comment6\Invalid.java:11: warning - Tag @link: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6\\Invalid.java (at line 9)\n" + >+ " * See also {@link Inner} \n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private03() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6a/def/Test.java", >+ "package comment6a.def;\n" + >+ "public class Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6a/test/Invalid.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * See also {@link Inner}\n" + >+ " */\n" + >+ "public class Invalid extends Test { \n" + >+ "}", >+ "comment6a/test/Invalid2.java", >+ "package comment6a.test;\n" + >+ "import comment6a.def.Test;\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Invalid2 extends Test { \n" + >+ "}" >+ }, >+// 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 >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + >+ " * See also {@link Inner}\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" + >+ "----------\n" + >+ "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + >+ " * @see Test.Inner\n" + >+ " ^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private04() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runNegativeTest( >+ new String[] { >+ "comment6b/Invalid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ "public class Invalid implements Test { \n" + >+ "}", >+ "comment6b/Test.java", >+ "package comment6b;\n" + >+ "public interface Test {\n" + >+ " /**\n" + >+ " * @see Inner\n" + >+ " */\n" + >+ " public class Inner { }\n" + >+ "}\n", >+ "comment6b/Valid.java", >+ "package comment6b;\n" + >+ "\n" + >+ "/**\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Valid implements Test { \n" + >+ "}" >+ }, >+// comment6b\Invalid.java:6: warning - Tag @see: reference not found: Inner >+ "----------\n" + >+ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + >+ " * @see Inner\n" + >+ " ^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug96237_Private05() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/a/Test.java", >+ "package test.a;\n" + >+ "/**\n" + >+ " * @see Inner\n" + >+ " * @see Test.Inner\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " class Inner {}\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug96237_Private06() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/b/Test.java", >+ "package test.b;\n" + >+ "/** \n" + >+ " * @see Inner.Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ "public class Test {\n" + >+ " /** \n" + >+ " * @see Level2\n" + >+ " * @see Test.Inner.Level2\n" + >+ " */\n" + >+ " public class Inner {\n" + >+ " class Level2 {}\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug96237_Private07() { >+ this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; >+ runConformTest( >+ new String[] { >+ "test/c/Test.java", >+ "package test.c;\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" >+ } >+ ); >+ } >+ >+ /** > * Bug 101283: [1.5][javadoc] Javadoc validation raises missing implementation in compiler > * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=101283" > */ >@@ -2150,6 +2614,342 @@ > } > > /** >+ * Bug 103304: [Javadoc] Wrong reference proposal for inner classes. >+ * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=103304" >+ */ >+ public void testBug103304a() { >+ runNegativeTest( >+ new String[] { >+ "boden/IAFAState.java", >+ "package boden;\n" + >+ "public interface IAFAState {\n" + >+ " public class ValidationException extends Exception {\n" + >+ " public ValidationException(String variableName, IAFAState subformula) {\n" + >+ " super(\"Variable \'\"+variableName+\"\' may be unbound in \'\"+subformula+\"\'\");\n" + >+ " }\n" + >+ " public void method() {}\n" + >+ " }\n" + >+ " /**\n" + >+ " * Validates a formula for consistent bindings. Bindings are consistent, when at each point in time,\n" + >+ " * the set of povided variables can be guaranteed to be a superset of the set of required variables.\n" + >+ " * @throws ValidationException Thrown if a variable is unbound. \n" + >+ " * @see ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " * @see IAFAState.ValidationException#method()\n" + >+ " * @see ValidationException\n" + >+ " * {@link ValidationException}\n" + >+ " */\n" + >+ " public void validate() throws ValidationException;\n" + >+ "}\n", >+ "boden/TestValid.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "/**\n" + >+ " * @see ValidationException\n" + >+ " * @see IAFAState.ValidationException\n" + >+ " */\n" + >+ "public class TestValid {\n" + >+ " /** \n" + >+ " * @see ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException valid1;\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException valid2;\n" + >+ "}\n" >+ }, >+ // no warning >+ "----------\n" + >+ "1. ERROR in boden\\TestValid.java (at line 4)\r\n" + >+ " * @see ValidationException\r\n" + >+ " ^^^^^^^^^^^^^^^^^^^\n" + >+ "Javadoc: Not visible reference\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304b() { >+ runNegativeTest( >+ new String[] { >+ "boden/IAFAState.java", >+ "package boden;\n" + >+ "public interface IAFAState {\n" + >+ " public class ValidationException extends Exception {\n" + >+ " public ValidationException(String variableName, IAFAState subformula) {\n" + >+ " super(\"Variable \'\"+variableName+\"\' may be unbound in \'\"+subformula+\"\'\");\n" + >+ " }\n" + >+ " public void method() {}\n" + >+ " }\n" + >+ "}\n", >+ "boden/TestInvalid1.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid1 {\n" + >+ " /** \n" + >+ " * @see ValidationException#ValidationException(String, IAFAState)\n" + >+ " */ \n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid2.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid2 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid3.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid3 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFA.State.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n", >+ "boden/TestInvalid4.java", >+ "package boden;\n" + >+ "import boden.IAFAState.ValidationException;\n" + >+ "public class TestInvalid4 {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFAState .ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException invalid;\n" + >+ "}\n" >+ }, >+// boden\TestInvalid1.java:7: warning - Tag @see: reference not found: ValidationException#ValidationException(String, IAFAState) >+// boden\TestInvalid2.java:6: warning - Tag @see: can't find ValidationException(String, IAFAState) in boden.IAFAState.ValidationException >+// boden\TestInvalid3.java:6: warning - Tag @see: can't find IAFA.State.ValidationException(String, IAFAState) in boden.IAFAState.ValidationException >+// boden\TestInvalid4.java:6: warning - Tag @see: can't find IAFAState in boden.IAFAState.ValidationException >+ "----------\n" + >+ "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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\n" + >+ "1. ERROR in boden\\TestInvalid4.java (at line 5)\n" + >+ " * @see IAFAState.ValidationException#IAFAState .ValidationException(String, IAFAState)\n" + >+ " ^^^^^^^^^\n" + >+ "Javadoc: IAFAState cannot be resolved or is not a field\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304c() { >+ runNegativeTest( >+ new String[] { >+ "test/Test.java", >+ "package test;\n" + >+ "public interface Test {\n" + >+ " public class Level0 {\n" + >+ " public Level0() {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " public Level1() {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n", >+ "test/C.java", >+ "package test;\n" + >+ "public class C {\n" + >+ " /**\n" + >+ " * @see Test.Level0#Test.Level0()\n" + >+ " */\n" + >+ " Test.Level0 valid = new Test.Level0();\n" + >+ " /**\n" + >+ " * @see Test.Level0#Level0()\n" + >+ " */\n" + >+ " Test.Level0 invalid = new Test.Level0();\n" + >+ "}\n" >+ }, >+// test\C.java:10: warning - Tag @see: can't find Level0() in test.Test.Level0 >+ "----------\n" + >+ "1. ERROR in test\\C.java (at line 8)\n" + >+ " * @see Test.Level0#Level0()\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\n" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304d() { >+ runNegativeTest( >+ new String[] { >+ "test/Test.java", >+ "package test;\n" + >+ "public interface Test {\n" + >+ " public class Level0 {\n" + >+ " public Level0() {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " public Level1() {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n", >+ "test/C2.java", >+ "package test;\n" + >+ "public class C2 {\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Test.Member.Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 valid = new Test.Member.Level1();\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 invalid = new Test.Member.Level1();\n" + >+ " /**\n" + >+ " * @see Test.Member.Level1#Test.Level1()\n" + >+ " */\n" + >+ " Test.Member.Level1 wrong = new Test.Member.Level1();\n" + >+ "}\n" >+ }, >+// test\C2.java:10: warning - Tag @see: can't find Level1() in test.Test.Member.Level1 >+// test\C2.java:14: warning - Tag @see: can't find Test.Level1() in test.Test.Member.Level1 >+ "----------\n" + >+ "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" + >+ "----------\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" + >+ "----------\n" >+ ); >+ } >+ public void testBug103304e() { >+ runConformTest( >+ new String[] { >+ "implicit/Valid.java", >+ "package implicit;\n" + >+ "public interface Valid {\n" + >+ " public class Level0 {\n" + >+ " /**\n" + >+ " * @see #Valid.Level0() Valid\n" + >+ " */\n" + >+ " public Level0() {}\n" + >+ " /**\n" + >+ " * @see #Valid.Level0(String) Valid\n" + >+ " */\n" + >+ " public Level0(String str) {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " /**\n" + >+ " * @see #Valid.Member.Level1() Valid\n" + >+ " */\n" + >+ " public Level1() {}\n" + >+ " /**\n" + >+ " * @see #Valid.Member.Level1(int) Valid\n" + >+ " */\n" + >+ " public Level1(int x) {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); >+ } >+ public void testBug103304f() { >+ runNegativeTest( >+ new String[] { >+ "implicit/Invalid.java", >+ "package implicit;\n" + >+ "public interface Invalid {\n" + >+ " public class Level0 {\n" + >+ " /**\n" + >+ " * @see #Level0() Invalid\n" + >+ " */\n" + >+ " public Level0() {}\n" + >+ " /**\n" + >+ " * @see #Level0(String) Invalid\n" + >+ " */\n" + >+ " public Level0(String str) {}\n" + >+ " }\n" + >+ " public interface Member {\n" + >+ " public class Level1 {\n" + >+ " /**\n" + >+ " * @see #Level1() Invalid\n" + >+ " * @see #Member.Level1() Invalid\n" + >+ " * @see #Invalid.Level1() Invalid\n" + >+ " */\n" + >+ " public Level1() {}\n" + >+ " /**\n" + >+ " * @see #Level1(int) Invalid\n" + >+ " * @see #Invalid.Level1(int) Invalid\n" + >+ " * @see #Member.Level1(int) Invalid\n" + >+ " */\n" + >+ " public Level1(int x) {}\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ }, >+// implicit\Invalid.java:7: warning - Tag @see: can't find Level0() in implicit.Invalid.Level0 >+// implicit\Invalid.java:11: warning - Tag @see: can't find Level0(String) in implicit.Invalid.Level0 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Member.Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:20: warning - Tag @see: can't find Invalid.Level1() in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Level1(int) in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Invalid.Level1(int) in implicit.Invalid.Member.Level1 >+// implicit\Invalid.java:26: warning - Tag @see: can't find Member.Level1(int) in implicit.Invalid.Member.Level1 >+ "----------\n" + >+ "1. ERROR in implicit\\Invalid.java (at line 5)\n" + >+ " * @see #Level0() Invalid\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\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" + >+ "----------\n" + >+ "3. ERROR in implicit\\Invalid.java (at line 16)\n" + >+ " * @see #Level1() Invalid\n" + >+ " ^^^^^^^^\n" + >+ "Javadoc: Invalid qualification for member type constructor\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\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" + >+ "----------\n" >+ ); >+ } >+ >+ /** > * Bug 112346: [javadoc] {@inheritedDoc} should be inactive for non-overridden method > * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=112346" > */ >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.19 >diff -u -r1.19 JavadocTestForInterface.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java 9 Jun 2006 10:20:55 -0000 1.19 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java 23 Jun 2006 07:47:46 -0000 >@@ -365,17 +365,20 @@ > this.runConformReferenceTest( > new String[] { > "test/IX.java", >- "package test;\n" >- + "import test.copy.*;\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + "public interface IX {\n" >- + " public void foo();\n" >- + "}\n" }); >+ "package test;\n" + >+ "import test.copy.*;\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ "public interface IX {\n" + >+ " public void foo();\n" + >+ "}\n" >+ } >+ ); > } > > public void test023() { >@@ -410,16 +413,19 @@ > this.runConformReferenceTest( > new String[] { > "test/IX.java", >- "package test;\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + "public interface IX {\n" >- + " public void foo();\n" >- + "}\n" }); >+ "package test;\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ "public interface IX {\n" + >+ " public void foo();\n" + >+ "}\n" >+ } >+ ); > } > > // @see Field references >@@ -1622,17 +1628,20 @@ > this.runConformReferenceTest( > new String[] { > "test/IX.java", >- "package test;\n" >- + "import test.copy.*;\n" >- + "public interface IX {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public void foo();\n" >- + "}\n" }); >+ "package test;\n" + >+ "import test.copy.*;\n" + >+ "public interface IX {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public void foo();\n" + >+ "}\n" >+ } >+ ); > } > > public void test098() { >@@ -1667,16 +1676,19 @@ > this.runConformReferenceTest( > new String[] { > "test/IX.java", >- "package test;\n" >- + "public interface IX {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public void foo();\n" >- + "}\n" }); >+ "package test;\n" + >+ "public interface IX {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public void foo();\n" + >+ "}\n" >+ } >+ ); > } > > // @see tag: field references >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.14 >diff -u -r1.14 JavadocTestForField.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForField.java 29 Mar 2006 03:50:22 -0000 1.14 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForField.java 23 Jun 2006 07:47:45 -0000 >@@ -407,17 +407,20 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + "import test.copy.*;\n" >- + "public class X {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public int x;\n" >- + "}\n" }); >+ "package test;\n" + >+ "import test.copy.*;\n" + >+ "public class X {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public int x;\n" + >+ "}\n" >+ } >+ ); > } > > public void test023() { >@@ -452,16 +455,19 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + "public class X {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public int x;\n" >- + "}\n" }); >+ "package test;\n" + >+ "public class X {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public int x;\n" + >+ "}\n" >+ } >+ ); > } > > // @see Field references >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.16 >diff -u -r1.16 JavadocTestForConstructor.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java 29 Mar 2006 03:50:23 -0000 1.16 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java 23 Jun 2006 07:47:44 -0000 >@@ -330,18 +330,21 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + "import test.copy.*;\n" >- + "public class X {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public X() {\n" >- + " }\n" >- + "}\n" }); >+ "package test;\n" + >+ "import test.copy.*;\n" + >+ "public class X {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public X() {\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); > } > > public void test023() { >@@ -377,17 +380,20 @@ > this.runConformReferenceTest( > new String[] { > "test/X.java", >- "package test;\n" >- + "public class X {\n" >- + " /**\n" >- + " * Valid external classes references \n" >- + " *\n" >- + " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" >- + " * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" >- + " */\n" >- + " public X() {\n" >- + " }\n" >- + "}\n" }); >+ "package test;\n" + >+ "public class X {\n" + >+ " /**\n" + >+ " * Valid external classes references \n" + >+ " *\n" + >+ " * @see test.copy.VisibilityPublic Valid ref: visible class through import => no warning on import\n" + >+ // Inner classes are not visible in generated documentation >+ //" * @see test.copy.VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \n" + >+ " */\n" + >+ " public X() {\n" + >+ " }\n" + >+ "}\n" >+ } >+ ); > } > > // @see Field references >#P org.eclipse.jdt.core.tests.model >Index: src/org/eclipse/jdt/core/tests/dom/ASTConverterJavadocTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverterJavadocTest.java,v >retrieving revision 1.71 >diff -u -r1.71 ASTConverterJavadocTest.java >--- src/org/eclipse/jdt/core/tests/dom/ASTConverterJavadocTest.java 8 Jun 2006 13:09:33 -0000 1.71 >+++ src/org/eclipse/jdt/core/tests/dom/ASTConverterJavadocTest.java 23 Jun 2006 07:48:01 -0000 >@@ -114,7 +114,7 @@ > // Run test cases subset > COPY_DIR = false; > System.err.println("WARNING: only subset of tests will be executed!!!"); >- suite.addTest(new ASTConverterJavadocTest("testBug130752")); >+ suite.addTest(new ASTConverterJavadocTest("testBug103304")); > return suite; > } > >@@ -989,10 +989,27 @@ > } > // Verify member name position > Name name = methodRef.getName(); >- text = new String(source, start, name.getLength()); >- assumeEquals(prefix+"Misplaced method ref name at <"+start+">: ", text, name.toString()); >+ int nameLength = name.getLength(); >+ text = new String(source, start, nameLength); >+ if (!text.equals(name.toString())) { // may have qualified constructor reference for inner classes >+ if (methodRef.getQualifier().isQualifiedName()) { >+ text = new String(source, start, methodRef.getQualifier().getLength()); >+ assumeEquals(prefix+"Misplaced method ref name at <"+start+">: ", text, methodRef.getQualifier().toString()); >+ while (source[start] != '.' || Character.isWhitespace(source[start])) { >+ start++; // purge non-stored characters >+ } >+ start++; >+ } else { >+ while (source[start] != '.' || Character.isWhitespace(source[start])) { >+ start++; // purge non-stored characters >+ } >+ start++; >+ text = new String(source, start, nameLength); >+ assumeEquals(prefix+"Misplaced method ref name at <"+start+">: ", text, name.toString()); >+ } >+ } > verifyNamePositions(start, name, source); >- start += name.getLength(); >+ start += nameLength; > // Verify arguments starting open parenthesis > while (source[start] == '*' || Character.isWhitespace(source[start])) { > start++; // purge non-stored characters >@@ -2989,6 +3006,52 @@ > } > > /** >+ * @bug 103304: [Javadoc] Wrong reference proposal for inner classes. >+ * @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=103304" >+ */ >+ public void testBug103304() throws JavaModelException { >+ this.packageBinding = false; // do NOT verify that qualification only can be package name >+ workingCopies = new ICompilationUnit[1]; >+ workingCopies[0] = getWorkingCopy("/Converter15/src/javadoc/b103304/Test.java", >+ "package javadoc.b103304;\n" + >+ "interface IAFAState {\n" + >+ " public class ValidationException extends Exception {\n" + >+ " public ValidationException(String variableName, IAFAState subformula) {\n" + >+ " super(\"Variable \'\"+variableName+\"\' may be unbound in \'\"+subformula+\"\'\");\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" + >+ "public class Test {\n" + >+ " /**\n" + >+ " * @see IAFAState.ValidationException#IAFAState.ValidationException(String, IAFAState)\n" + >+ " */\n" + >+ " IAFAState.ValidationException valid;\n" + >+ "}\n" >+ ); >+ CompilationUnit compilUnit = (CompilationUnit) runConversion(workingCopies[0], true); >+ verifyWorkingCopiesComments(); >+ if (docCommentSupport.equals(JavaCore.ENABLED)) { >+ // Verify comment type >+ Iterator unitComments = compilUnit.getCommentList().iterator(); >+ while (unitComments.hasNext()) { >+ Comment comment = (Comment) unitComments.next(); >+ assertEquals("Comment should be javadoc", comment.getNodeType(), ASTNode.JAVADOC); >+ Javadoc javadoc = (Javadoc) comment; >+ >+ // Verify that there's always a method reference in tags >+ List tags = javadoc.tags(); >+ int size = tags.size(); >+ for (int i=0; i<size; i++) { >+ TagElement tag = (TagElement) javadoc.tags().get(i); >+ assertEquals("Invalid number of fragment for see reference: "+tag, 1, tag.fragments().size()); >+ ASTNode node = (ASTNode) tag.fragments().get(0); >+ assertEquals("Invalid kind of name reference for tag element: "+tag, ASTNode.METHOD_REF, node.getNodeType()); >+ } >+ } >+ } >+ } >+ >+ /** > * Bug 106581: [javadoc] null type binding for parameter in javadoc > * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=106581" > */ >#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.43 >diff -u -r1.43 Javadoc.java >--- compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java 21 Jun 2006 21:09:58 -0000 1.43 >+++ compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java 23 Jun 2006 07:48:05 -0000 >@@ -34,7 +34,35 @@ > this.sourceStart = sourceStart; > this.sourceEnd = sourceEnd; > } >- >+ /** >+ * Returns whether a type can be seen at a given visibility level or not. >+ * >+ * @param visibility Level of visiblity allowed to see references >+ * @param binding Type to be seen >+ * @return true if the type can be seen, false otherwise >+ */ >+ boolean canBeSeen(int visibility, ReferenceBinding binding) { >+ int modifiers = binding.modifiers; >+ if (!binding.isValidBinding()) { >+ ProblemReferenceBinding problemBinding = (ProblemReferenceBinding) binding; >+ if (problemBinding.closestMatch != null) { >+ modifiers = problemBinding.closestMatch.modifiers; >+ } >+ } >+ if (modifiers < 0) return true; >+ switch (modifiers & ExtraCompilerModifiers.AccVisibilityMASK) { >+ case ClassFileConstants.AccPublic : >+ return true; >+ case ClassFileConstants.AccProtected: >+ return (visibility != ClassFileConstants.AccPublic); >+ case ClassFileConstants.AccDefault: >+ return (visibility == ClassFileConstants.AccDefault || visibility == ClassFileConstants.AccPrivate); >+ case ClassFileConstants.AccPrivate: >+ return (visibility == ClassFileConstants.AccPrivate); >+ } >+ return true; >+ } >+ > /* > * @see org.eclipse.jdt.internal.compiler.ast.ASTNode#print(int, java.lang.StringBuffer) > */ >@@ -233,17 +261,18 @@ > } > > // Verify field references >- boolean verifyValues = scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5; >+ boolean source15 = scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5; >+ int scopeModifiers = -1; > if (reference instanceof JavadocFieldReference) { > JavadocFieldReference fieldRef = (JavadocFieldReference) reference; >- int modifiers = fieldRef.binding==null ? -1 : fieldRef.binding.modifiers; > > // Verify if this is a method reference > // see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=51911 > if (fieldRef.methodBinding != null) { > // cannot refer to method for @value tag > if (fieldRef.tagValue == JavadocTagConstants.TAG_VALUE_VALUE) { >- scope.problemReporter().javadocInvalidValueReference(fieldRef.sourceStart, fieldRef.sourceEnd, modifiers); >+ if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); >+ scope.problemReporter().javadocInvalidValueReference(fieldRef.sourceStart, fieldRef.sourceEnd, scopeModifiers); > } > else if (fieldRef.receiverType != null) { > fieldRef.superAccess = scope.enclosingSourceType().isCompatibleWith(fieldRef.receiverType); >@@ -252,35 +281,81 @@ > } > > // Verify whether field ref should be static or not (for @value tags) >- else if (verifyValues && fieldRef.binding != null && fieldRef.binding.isValidBinding()) { >+ else if (source15 && fieldRef.binding != null && fieldRef.binding.isValidBinding()) { > if (fieldRef.tagValue == JavadocTagConstants.TAG_VALUE_VALUE && !fieldRef.binding.isStatic()) { >- scope.problemReporter().javadocInvalidValueReference(fieldRef.sourceStart, fieldRef.sourceEnd, modifiers); >+ if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); >+ scope.problemReporter().javadocInvalidValueReference(fieldRef.sourceStart, fieldRef.sourceEnd, scopeModifiers); > } > } >- >+ > // That's it for field references > return; > } > >- // If not 1.5 level, verification is finished >- if (!verifyValues) return; >+ // Verify type references >+ if ((reference instanceof JavadocSingleTypeReference || reference instanceof JavadocQualifiedTypeReference) && reference.resolvedType instanceof ReferenceBinding) { >+ ReferenceBinding resolvedType = (ReferenceBinding) reference.resolvedType; >+ if (reference.resolvedType.isValidBinding()) { >+ >+ // member types >+ if (resolvedType.isMemberType()) { >+ ReferenceBinding topLevelType = resolvedType; >+ int depth = 0; >+ while (topLevelType.enclosingType() != null) { >+ topLevelType = topLevelType.enclosingType(); >+ depth++; >+ } >+ ClassScope topLevelScope = scope.classScope(); >+ // when scope is not on compilation unit type, then inner class may not be visible... >+ if (topLevelScope.parent.kind != Scope.COMPILATION_UNIT_SCOPE || >+ !CharOperation.equals(topLevelType.sourceName, topLevelScope.referenceContext.name)) { >+ topLevelScope = topLevelScope.outerMostClassScope(); >+ if (reference instanceof JavadocSingleTypeReference) { >+ // inner class single reference can only be done in same unit >+ if ((!source15 && depth == 1) || topLevelType != topLevelScope.referenceContext.binding) { >+ if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); >+ scope.problemReporter().javadocNotVisibleReference(reference.sourceStart, reference.sourceEnd, scopeModifiers); >+ } >+ } else { >+ // inner class qualified reference can only be done in same package >+ if (topLevelType.getPackage() != topLevelScope.referenceContext.binding.getPackage()) { >+ if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); >+ scope.problemReporter().javadocNotVisibleReference(reference.sourceStart, reference.sourceEnd, scopeModifiers); >+ } >+ } >+ } >+ } >+ >+ // reference must have enough visibility to be used >+ if (!canBeSeen(scope.problemReporter().options.reportInvalidJavadocTagsVisibility, resolvedType)) { >+ if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); >+ scope.problemReporter().javadocNotVisibleReference(reference.sourceStart, reference.sourceEnd, scopeModifiers); >+ } >+ } >+ } > > // Verify that message reference are not used for @value tags >- else if (reference instanceof JavadocMessageSend) { >+ if (reference instanceof JavadocMessageSend) { > JavadocMessageSend msgSend = (JavadocMessageSend) reference; >- int modifiers = msgSend.binding==null ? -1 : msgSend.binding.modifiers; >- if (msgSend.tagValue == JavadocTagConstants.TAG_VALUE_VALUE) { // cannot refer to method for @value tag >- scope.problemReporter().javadocInvalidValueReference(msgSend.sourceStart, msgSend.sourceEnd, modifiers); >+ >+ // tag value >+ if (source15 && msgSend.tagValue == JavadocTagConstants.TAG_VALUE_VALUE) { // cannot refer to method for @value tag >+ if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); >+ scope.problemReporter().javadocInvalidValueReference(msgSend.sourceStart, msgSend.sourceEnd, scopeModifiers); > } >+ > } > >- // Verify that constructorreference are not used for @value tags >+ // Verify that constructor reference are not used for @value tags > else if (reference instanceof JavadocAllocationExpression) { > JavadocAllocationExpression alloc = (JavadocAllocationExpression) reference; >- int modifiers = alloc.binding==null ? -1 : alloc.binding.modifiers; >- if (alloc.tagValue == JavadocTagConstants.TAG_VALUE_VALUE) { // cannot refer to method for @value tag >- scope.problemReporter().javadocInvalidValueReference(alloc.sourceStart, alloc.sourceEnd, modifiers); >+ >+ // tag value >+ if (source15 && alloc.tagValue == JavadocTagConstants.TAG_VALUE_VALUE) { // cannot refer to method for @value tag >+ if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); >+ scope.problemReporter().javadocInvalidValueReference(alloc.sourceStart, alloc.sourceEnd, scopeModifiers); > } >+ > } > > // Verify that there's no type variable reference >Index: compiler/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.java,v >retrieving revision 1.27 >diff -u -r1.27 JavadocAllocationExpression.java >--- compiler/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.java 28 Mar 2006 20:28:15 -0000 1.27 >+++ compiler/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.java 23 Jun 2006 07:48:06 -0000 >@@ -10,15 +10,17 @@ > *******************************************************************************/ > package org.eclipse.jdt.internal.compiler.ast; > >+import org.eclipse.jdt.core.compiler.CharOperation; > import org.eclipse.jdt.internal.compiler.impl.Constant; > import org.eclipse.jdt.internal.compiler.lookup.*; > > public class JavadocAllocationExpression extends AllocationExpression { > > public int tagSourceStart, tagSourceEnd; >- public int tagValue; >+ public int tagValue, memberStart; > public boolean superAccess = false; >- >+ public char[][] qualification; >+ > public JavadocAllocationExpression(int start, int end) { > this.sourceStart = start; > this.sourceEnd = end; >@@ -28,7 +30,7 @@ > this((int) (pos >>> 32), (int) pos); > } > >- private TypeBinding internalResolveType(Scope scope) { >+ TypeBinding internalResolveType(Scope scope) { > > // Propagate the type checking to the arguments, and check if the constructor is defined. > this.constant = Constant.NotAConstant; >@@ -120,6 +122,20 @@ > } > } > } >+ } else if (this.resolvedType.isMemberType()) { // inner class constructor reference must be qualified >+ int length = qualification.length; >+ ReferenceBinding enclosingTypeBinding = allocationType; >+ if (type instanceof JavadocQualifiedTypeReference && (((JavadocQualifiedTypeReference)type).tokens.length != length)) { >+ scope.problemReporter().javadocInvalidConstructorQualification(this.memberStart+1, this.sourceEnd); //, scope.getDeclarationModifiers()); >+ } else { >+ int idx = length; >+ while (idx > 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()); >+ } >+ } > } > if (isMethodUseDeprecated(this.binding, scope, true)) { > scope.problemReporter().javadocDeprecatedMethod(this.binding, this, 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.176 >diff -u -r1.176 IProblem.java >--- compiler/org/eclipse/jdt/core/compiler/IProblem.java 16 May 2006 16:37:58 -0000 1.176 >+++ compiler/org/eclipse/jdt/core/compiler/IProblem.java 23 Jun 2006 07:48:05 -0000 >@@ -753,6 +753,16 @@ > /* > * Javadoc comments > */ >+ /** >+ * Problem signaled on a reference to an java element which has a too low visibility level. >+ * @since 3.3 >+ */ >+ int JavadocNotVisibleReference = Javadoc + Internal + 465; >+ /** >+ * Problem signaled on an unqualified inner class constructor reference. >+ * @since 3.3 >+ */ >+ int JavadocInvalidConstructorQualification = Javadoc + Internal + 466; > /** @since 3.2 */ > int JavadocMissingIdentifier = Javadoc + Internal + 467; > /** @since 3.2 */ >Index: codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.java,v >retrieving revision 1.3 >diff -u -r1.3 SelectionJavadocParser.java >--- codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.java 4 Nov 2005 15:59:32 -0000 1.3 >+++ codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.java 23 Jun 2006 07:48:04 -0000 >@@ -101,8 +101,9 @@ > * Otherwise return null as we do not need this reference. > */ > protected Object createMethodReference(Object receiver, List arguments) throws InvalidInputException { >- int start = (int) (this.identifierPositionStack[0] >>> 32); >- int end = (int) this.identifierPositionStack[0]; >+ int memberPtr = this.identifierLengthStack[0] - 1; // may be > 0 for inner class constructor reference >+ int start = (int) (this.identifierPositionStack[memberPtr] >>> 32); >+ int end = (int) this.identifierPositionStack[memberPtr]; > if (start <= this.selectionStart && this.selectionEnd <= end) { > selectedNode = (ASTNode) super.createMethodReference(receiver, arguments); > this.abort = true; >@@ -134,9 +135,10 @@ > if (start <= this.selectionStart && this.selectionEnd <= end) { > int pos = i + 1; > char[][] tokens = new char[pos][]; >- System.arraycopy(this.identifierStack, this.identifierPtr+1, tokens, 0, pos); >+ int ptr = this.identifierPtr - size; >+ System.arraycopy(this.identifierStack, ptr, tokens, 0, pos); > long[] positions = new long[pos]; >- System.arraycopy(this.identifierPositionStack, this.identifierPtr + 1, positions, 0, pos); >+ System.arraycopy(this.identifierPositionStack, ptr, positions, 0, pos); > selectedNode = new JavadocQualifiedTypeReference(tokens, positions, this.tagSourceStart, this.tagSourceEnd); > this.abort = true; // we got selected node => cancel parse > if (SelectionEngine.DEBUG) { >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.204 >diff -u -r1.204 messages.properties >--- compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties 9 Jun 2006 10:20:47 -0000 1.204 >+++ compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties 23 Jun 2006 07:48:10 -0000 >@@ -362,6 +362,8 @@ > 460 = Empty block should be documented > > ### DOC >+465 = Not visible reference >+466 = Invalid qualification for member type constructor > 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.312 >diff -u -r1.312 ProblemReporter.java >--- compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java 9 Jun 2006 10:20:47 -0000 1.312 >+++ compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java 23 Jun 2006 07:48:10 -0000 >@@ -215,6 +215,7 @@ > case IProblem.JavadocDuplicateParamName: > case IProblem.JavadocMissingParamName: > case IProblem.JavadocMissingIdentifier: >+ case IProblem.JavadocInvalidConstructorQualification: > case IProblem.JavadocInvalidThrowsClassName: > case IProblem.JavadocDuplicateThrowsClassName: > case IProblem.JavadocMissingThrowsClassName: >@@ -255,6 +256,7 @@ > case IProblem.JavadocUsingDeprecatedConstructor: > case IProblem.JavadocUsingDeprecatedMethod: > case IProblem.JavadocUsingDeprecatedType: >+ case IProblem.JavadocNotVisibleReference: > return CompilerOptions.InvalidJavadoc; > > case IProblem.JavadocMissingParamTag: >@@ -988,6 +990,7 @@ > case IProblem.JavadocDuplicateParamName: > case IProblem.JavadocMissingParamName: > case IProblem.JavadocMissingIdentifier: >+ case IProblem.JavadocInvalidConstructorQualification: > case IProblem.JavadocInvalidThrowsClassName: > case IProblem.JavadocDuplicateThrowsClassName: > case IProblem.JavadocMissingThrowsClassName: >@@ -1042,6 +1045,7 @@ > case IProblem.JavadocNotVisibleConstructor: > case IProblem.JavadocNotVisibleMethod: > case IProblem.JavadocNotVisibleType: >+ case IProblem.JavadocNotVisibleReference: > if (!(this.options.reportInvalidJavadocTags && this.options.reportInvalidJavadocTagsNotVisibleRef)) { > return ProblemSeverities.Ignore; > } >@@ -3578,13 +3582,17 @@ > int severity = computeSeverity(IProblem.JavadocUsingDeprecatedType); > if (severity == ProblemSeverities.Ignore) return; > if (javadocVisibility(this.options.reportInvalidJavadocTagsVisibility, modifiers)) { >- this.handle( >- IProblem.JavadocUsingDeprecatedType, >- new String[] {new String(type.readableName())}, >- new String[] {new String(type.shortReadableName())}, >- severity, >- location.sourceStart, >- location.sourceEnd); >+ if (type.isMemberType() && type instanceof ReferenceBinding && !javadocVisibility(this.options.reportInvalidJavadocTagsVisibility, ((ReferenceBinding)type).modifiers)) { >+ this.handle(IProblem.JavadocNotVisibleReference, NoArgument, NoArgument, location.sourceStart, location.sourceEnd); >+ } else { >+ this.handle( >+ IProblem.JavadocUsingDeprecatedType, >+ new String[] {new String(type.readableName())}, >+ new String[] {new String(type.shortReadableName())}, >+ severity, >+ location.sourceStart, >+ location.sourceEnd); >+ } > } > } > public void javadocDuplicatedParamTag(char[] token, int sourceStart, int sourceEnd, int modifiers) { >@@ -3807,6 +3815,9 @@ > 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: >@@ -4208,6 +4219,10 @@ > typeRef.sourceEnd); > } > } >+public void javadocNotVisibleReference(int sourceStart, int sourceEnd, int modifiers) { >+ if (javadocVisibility(this.options.reportInvalidJavadocTagsVisibility, modifiers)) >+ this.handle(IProblem.JavadocNotVisibleReference, NoArgument, NoArgument, sourceStart, sourceEnd); >+} > public void javadocUndeclaredParamTagName(char[] token, int sourceStart, int sourceEnd, int modifiers) { > int severity = computeSeverity(IProblem.JavadocInvalidParamName); > if (severity == ProblemSeverities.Ignore) return; >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.54 >diff -u -r1.54 JavadocParser.java >--- compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java 29 Mar 2006 02:47:34 -0000 1.54 >+++ compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java 23 Jun 2006 07:48:07 -0000 >@@ -180,36 +180,57 @@ > 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 > if (typeRef == null) { > char[] name = this.sourceParser.compilationUnit.getMainTypeName(); > TypeDeclaration typeDecl = getParsedTypeDeclaration(); > if (typeDecl != null) { > name = typeDecl.name; > } >- isConstructor = CharOperation.equals(this.identifierStack[0], name); >+ isConstructor = CharOperation.equals(this.identifierStack[length-1], name); > typeRef = new JavadocImplicitTypeReference(name, this.memberStart); > } else { >- char[] name = null; > if (typeRef instanceof JavadocSingleTypeReference) { >- name = ((JavadocSingleTypeReference)typeRef).token; >+ char[] name = ((JavadocSingleTypeReference)typeRef).token; >+ isConstructor = CharOperation.equals(this.identifierStack[length-1], name); > } else if (typeRef instanceof JavadocQualifiedTypeReference) { > char[][] tokens = ((JavadocQualifiedTypeReference)typeRef).tokens; >- name = tokens[tokens.length-1]; >+ int last = tokens.length-1; >+ isConstructor = CharOperation.equals(this.identifierStack[length-1], tokens[last]); >+ if (isConstructor) { >+ boolean valid = true; >+ if (valid) { >+ for (int i=0; i<length-1 && valid; i++) { >+ valid = CharOperation.equals(this.identifierStack[i], tokens[i]); >+ } >+ } >+ if (!valid) { >+ if (this.reportProblems) { >+ this.sourceParser.problemReporter().javadocInvalidConstructorQualification(this.memberStart+1, this.scanner.getCurrentTokenEndPosition()); >+ } >+ return null; >+ } >+ } > } else { > throw new InvalidInputException(); > } >- isConstructor = CharOperation.equals(this.identifierStack[0], name); > } > // Create node > if (arguments == null) { > if (isConstructor) { >- JavadocAllocationExpression alloc = new JavadocAllocationExpression(this.identifierPositionStack[0]); >- alloc.type = typeRef; >- alloc.tagValue = this.tagValue; >- alloc.sourceEnd = this.scanner.getCurrentTokenEndPosition(); >- return alloc; >+ JavadocAllocationExpression allocation = new JavadocAllocationExpression(this.identifierPositionStack[length-1]); >+ allocation.type = typeRef; >+ allocation.tagValue = this.tagValue; >+ allocation.sourceEnd = this.scanner.getCurrentTokenEndPosition(); >+ if (length == 1) { >+ allocation.qualification = new char[][] { this.identifierStack[0] }; >+ } else { >+ System.arraycopy(this.identifierStack, 0, allocation.qualification = new char[length][], 0, length); >+ } >+ allocation.memberStart = this.memberStart; >+ return allocation; > } else { >- JavadocMessageSend msg = new JavadocMessageSend(this.identifierStack[0], this.identifierPositionStack[0]); >+ JavadocMessageSend msg = new JavadocMessageSend(this.identifierStack[length-1], this.identifierPositionStack[length-1]); > msg.receiver = typeRef; > msg.tagValue = this.tagValue; > msg.sourceEnd = this.scanner.getCurrentTokenEndPosition(); >@@ -219,14 +240,20 @@ > JavadocArgumentExpression[] expressions = new JavadocArgumentExpression[arguments.size()]; > arguments.toArray(expressions); > if (isConstructor) { >- JavadocAllocationExpression alloc = new JavadocAllocationExpression(this.identifierPositionStack[0]); >- alloc.arguments = expressions; >- alloc.type = typeRef; >- alloc.tagValue = this.tagValue; >- alloc.sourceEnd = this.scanner.getCurrentTokenEndPosition(); >- return alloc; >+ JavadocAllocationExpression allocation = new JavadocAllocationExpression(this.identifierPositionStack[length-1]); >+ allocation.arguments = expressions; >+ allocation.type = typeRef; >+ allocation.tagValue = this.tagValue; >+ allocation.sourceEnd = this.scanner.getCurrentTokenEndPosition(); >+ if (length == 1) { >+ allocation.qualification = new char[][] { this.identifierStack[0] }; >+ } else { >+ System.arraycopy(this.identifierStack, 0, allocation.qualification = new char[length][], 0, length); >+ } >+ allocation.memberStart = this.memberStart; >+ return allocation; > } else { >- JavadocMessageSend msg = new JavadocMessageSend(this.identifierStack[0], this.identifierPositionStack[0], expressions); >+ JavadocMessageSend msg = new JavadocMessageSend(this.identifierStack[length-1], this.identifierPositionStack[length-1], expressions); > msg.receiver = typeRef; > msg.tagValue = this.tagValue; > msg.sourceEnd = this.scanner.getCurrentTokenEndPosition(); >@@ -258,7 +285,7 @@ > */ > protected Object createTypeReference(int primitiveToken) { > TypeReference typeRef = null; >- int size = this.identifierLengthStack[this.identifierLengthPtr--]; >+ int size = this.identifierLengthStack[this.identifierLengthPtr]; > if (size == 1) { // Single Type ref > typeRef = new JavadocSingleTypeReference( > this.identifierStack[this.identifierPtr], >@@ -272,7 +299,6 @@ > System.arraycopy(this.identifierPositionStack, this.identifierPtr - size + 1, positions, 0, size); > typeRef = new JavadocQualifiedTypeReference(tokens, positions, this.tagSourceStart, this.tagSourceEnd); > } >- this.identifierPtr -= size; > return typeRef; > } > >@@ -691,7 +717,7 @@ > * Fill associated comment fields with ast nodes information stored in stack. > */ > protected void updateDocComment() { >- >+ > // Set inherited positions > this.docComment.inheritedPositions = this.inheritedPositions; > >Index: compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java,v >retrieving revision 1.61 >diff -u -r1.61 AbstractCommentParser.java >--- compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java 8 Jun 2006 13:08:57 -0000 1.61 >+++ compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java 23 Jun 2006 07:48:06 -0000 >@@ -641,8 +641,12 @@ > > // Get member identifier > if (readToken() == TerminalTokens.TokenNameIdentifier) { >- consumeToken(); >- pushIdentifier(true, false); >+ if (this.scanner.currentCharacter == '.') { // member name may be qualified (inner class constructor reference) >+ parseQualifiedName(true); >+ } else { >+ consumeToken(); >+ pushIdentifier(true, false); >+ } > // Look for next token to know whether it's a field or method reference > int previousPosition = this.index; > if (readToken() == TerminalTokens.TokenNameLPAREN) { >Index: codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocAllocationExpression.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocAllocationExpression.java,v >retrieving revision 1.3 >diff -u -r1.3 CompletionOnJavadocAllocationExpression.java >--- codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocAllocationExpression.java 24 Oct 2005 12:57:14 -0000 1.3 >+++ codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocAllocationExpression.java 23 Jun 2006 07:48:04 -0000 >@@ -23,6 +23,7 @@ > this.tagValue = allocation.tagValue; > this.sourceEnd = allocation.sourceEnd; > this.separatorPosition = position; >+ this.qualification = allocation.qualification; > } > > public CompletionOnJavadocAllocationExpression(JavadocAllocationExpression allocation, int position, int flags) { >Index: codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.java,v >retrieving revision 1.23 >diff -u -r1.23 CompletionJavadocParser.java >--- codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.java 8 Jun 2006 13:08:57 -0000 1.23 >+++ codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.java 23 Jun 2006 07:48:04 -0000 >@@ -149,8 +149,9 @@ > * Otherwise return null as we do not need this reference. > */ > protected Object createMethodReference(Object receiver, List arguments) throws InvalidInputException { >- int refStart = (int) (this.identifierPositionStack[0] >>> 32); >- int refEnd = (int) this.identifierPositionStack[0]; >+ int memberPtr = this.identifierLengthStack[0] - 1; // may be > 0 for inner class constructor reference >+ int refStart = (int) (this.identifierPositionStack[memberPtr] >>> 32); >+ int refEnd = (int) this.identifierPositionStack[memberPtr]; > boolean inCompletion = (refStart <= (this.cursorLocation+1) && this.cursorLocation <= refEnd) // completion cursor is between first and last stacked identifiers > || ((refStart == (refEnd+1) && refEnd == this.cursorLocation)) // or it's a completion on empty token > || (this.memberStart == this.cursorLocation); // or it's a completion just after the member separator with an identifier after the cursor >@@ -226,7 +227,6 @@ > this.completionNode = new CompletionOnJavadocQualifiedTypeReference(tokens, this.identifierStack[this.identifierPtr], positions, this.tagSourceStart, this.tagSourceEnd); > } > } >- this.identifierPtr -= nbIdentifiers; > > if (CompletionEngine.DEBUG) { > System.out.println(" completion partial qualified type="+completionNode); //$NON-NLS-1$ >@@ -792,7 +792,7 @@ > // special case of completion just before the dot. > return createTypeReference(primitiveToken); > } >- int idLength = this.identifierLengthStack[this.identifierLengthPtr--]; >+ int idLength = this.identifierLengthStack[this.identifierLengthPtr]; > char[][] tokens = new char[idLength][]; > int startPtr = this.identifierPtr-idLength+1; > System.arraycopy(this.identifierStack, startPtr, tokens, 0, idLength); >@@ -800,7 +800,6 @@ > System.arraycopy(this.identifierPositionStack, startPtr, positions, 0, idLength); > positions[idLength] = (((long)this.tokenPreviousPosition)<<32) + this.tokenPreviousPosition; > this.completionNode = new CompletionOnJavadocQualifiedTypeReference(tokens, CharOperation.NO_CHAR, positions, this.tagSourceStart, this.tagSourceEnd); >- this.identifierPtr -= idLength; > > if (CompletionEngine.DEBUG) { > System.out.println(" completion partial qualified type="+completionNode); //$NON-NLS-1$ >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.34 >diff -u -r1.34 DocCommentParser.java >--- dom/org/eclipse/jdt/core/dom/DocCommentParser.java 29 Mar 2006 02:54:50 -0000 1.34 >+++ dom/org/eclipse/jdt/core/dom/DocCommentParser.java 23 Jun 2006 07:48:11 -0000 >@@ -86,7 +86,7 @@ > buffer.append(super.toString()); > return buffer.toString(); > } >- >+ > /* (non-Javadoc) > * @see org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser#createArgumentReference(char[], java.lang.Object, int) > */ >@@ -167,13 +167,13 @@ > // Create method ref > MethodRef methodRef = this.ast.newMethodRef(); > SimpleName methodName = new SimpleName(this.ast); >- methodName.internalSetIdentifier(new String(this.identifierStack[0])); >+ int memberPtr = this.identifierLengthStack[0] - 1; >+ methodName.internalSetIdentifier(new String(this.identifierStack[memberPtr])); > methodRef.setName(methodName); >- int start = (int) (this.identifierPositionStack[0] >>> 32); >- int end = (int) this.identifierPositionStack[0]; >+ int start = (int) (this.identifierPositionStack[memberPtr] >>> 32); >+ int end = (int) this.identifierPositionStack[memberPtr]; > methodName.setSourceRange(start, end - start + 1); > // Set qualifier >-// int end = methodName.getStartPosition()+methodName.getLength()-1; > if (receiver == null) { > start = this.memberStart; > methodRef.setSourceRange(start, end - start + 1); >@@ -188,10 +188,8 @@ > while (parameters.hasNext()) { > MethodRefParameter param = (MethodRefParameter) parameters.next(); > methodRef.parameters().add(param); >-// end = param.getStartPosition()+param.getLength()-1; > } > } >-// methodRef.setSourceRange(start, end-start+1); > methodRef.setSourceRange(start, this.scanner.getCurrentTokenEndPosition()-start+1); > return methodRef; > } >@@ -239,7 +237,7 @@ > * @see org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser#createTypeReference() > */ > protected Object createTypeReference(int primitiveToken) { >- int size = this.identifierLengthStack[this.identifierLengthPtr--]; >+ int size = this.identifierLengthStack[this.identifierLengthPtr]; > String[] identifiers = new String[size]; > int pos = this.identifierPtr - size + 1; > for (int i = 0; i < size; i++) { >@@ -307,18 +305,9 @@ > int end = (int) this.identifierPositionStack[pos]; > typeRef.setSourceRange(start, end-start+1); > } >- this.identifierPtr -= size; > return typeRef; > } > >- /* >- * Parse @return tag declaration >- */ >- protected boolean parseReturn() { >- createTag(); >- return true; >- } >- > /* (non-Javadoc) > * @see org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser#parseIdentifierTag(boolean) > */ >@@ -332,6 +321,14 @@ > return false; > } > >+ /* >+ * Parse @return tag declaration >+ */ >+ protected boolean parseReturn() { >+ createTag(); >+ return true; >+ } >+ > /* (non-Javadoc) > * @see org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser#parseTag(int) > */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 96237
:
39409
|
39554
| 45150 |
45373