### Eclipse Workspace Patch 1.0
#P org.eclipse.jdt.ui
Index: ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties,v
retrieving revision 1.438
diff -u -r1.438 PreferencesMessages.properties
--- ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties 18 Sep 2007 16:59:36 -0000 1.438
+++ ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties 24 Sep 2007 07:19:01 -0000
@@ -501,6 +501,10 @@
JavadocProblemsConfigurationBlock_pb_javadoc_support_label=Proc&ess Javadoc comments (includes search and refactoring)
JavadocProblemsConfigurationBlock_pb_invalid_javadoc_label=Mal&formed Javadoc comments:
JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_label=Report e&rrors in tags
+JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_label=Report missing tag description
+JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_no_tag_label=Ignore
+JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_return_tag_label=Return tag
+JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_all_tag_label=All tags
JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_visibility_label=On&ly consider members as visible as:
JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_not_visible_ref_label=Report non &visible references
JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_deprecated_label=Report de&precated references
Index: ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java,v
retrieving revision 1.90
diff -u -r1.90 PreferencesMessages.java
--- ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java 17 Sep 2007 10:48:12 -0000 1.90
+++ ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java 24 Sep 2007 07:18:54 -0000
@@ -453,6 +453,10 @@
public static String JavadocProblemsConfigurationBlock_javadoc_description;
public static String JavadocProblemsConfigurationBlock_pb_javadoc_support_label;
public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_label;
+ public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_label;
+ public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_no_tag_label;
+ public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_return_tag_label;
+ public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_all_tag_label;
public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_label;
public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_visibility_label;
public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_not_visible_ref_label;
Index: ui/org/eclipse/jdt/internal/ui/preferences/JavadocProblemsConfigurationBlock.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavadocProblemsConfigurationBlock.java,v
retrieving revision 1.9
diff -u -r1.9 JavadocProblemsConfigurationBlock.java
--- ui/org/eclipse/jdt/internal/ui/preferences/JavadocProblemsConfigurationBlock.java 27 Sep 2005 16:41:04 -0000 1.9
+++ ui/org/eclipse/jdt/internal/ui/preferences/JavadocProblemsConfigurationBlock.java 24 Sep 2007 07:18:48 -0000
@@ -46,6 +46,7 @@
private static final Key PREF_PB_MISSING_JAVADOC_TAGS_OVERRIDING= getJDTCoreKey(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING);
private static final Key PREF_PB_MISSING_JAVADOC_COMMENTS= getJDTCoreKey(JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS);
+ private static final Key PREF_PB_MISSING_JAVADOC_TAG_DESCRIPTION= getJDTCoreKey(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION);
private static final Key PREF_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY= getJDTCoreKey(JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY);
private static final Key PREF_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING= getJDTCoreKey(JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING);
@@ -63,6 +64,10 @@
private static final String DEFAULT= JavaCore.DEFAULT;
private static final String PRIVATE= JavaCore.PRIVATE;
+ private static final String NO_TAG= JavaCore.COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_NO_TAG;
+ private static final String RETURN_TAG= JavaCore.COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_RETURN_TAG;
+ private static final String ALL_TAGS= JavaCore.COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_ALL_TAGS;
+
private PixelConverter fPixelConverter;
private Composite fJavadocComposite;
@@ -81,7 +86,7 @@
PREF_PB_INVALID_JAVADOC_TAGS_VISIBILITY,
PREF_PB_INVALID_JAVADOC_TAGS_NOT_VISIBLE_REF, PREF_PB_INVALID_JAVADOC_TAGS_DEPRECATED_REF,
PREF_PB_MISSING_JAVADOC_TAGS, PREF_PB_MISSING_JAVADOC_TAGS_VISIBILITY, PREF_PB_MISSING_JAVADOC_TAGS_OVERRIDING,
- PREF_PB_MISSING_JAVADOC_COMMENTS, PREF_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY, PREF_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING,
+ PREF_PB_MISSING_JAVADOC_COMMENTS, PREF_PB_MISSING_JAVADOC_TAG_DESCRIPTION, PREF_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY, PREF_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING,
};
return keys;
}
@@ -120,6 +125,15 @@
PreferencesMessages.JavadocProblemsConfigurationBlock_default,
PreferencesMessages.JavadocProblemsConfigurationBlock_private
};
+
+ String[] considerTagDescriptions= new String[] { NO_TAG, RETURN_TAG, ALL_TAGS };
+
+ String[] considerTagDescriptionsLabels= new String[] {
+ PreferencesMessages.JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_no_tag_label,
+ PreferencesMessages.JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_return_tag_label,
+ PreferencesMessages.JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_all_tag_label
+ };
+
int nColumns= 3;
@@ -161,10 +175,14 @@
label = PreferencesMessages.JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_visibility_label;
addComboBox(composite, label, PREF_PB_INVALID_JAVADOC_TAGS_VISIBILITY, visibilities, visibilitiesLabels, indent);
-
+
label= PreferencesMessages.JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_label;
addCheckBox(composite, label, PREF_PB_INVALID_JAVADOC_TAGS, enabledDisabled, indent);
+ label = PreferencesMessages.JavadocProblemsConfigurationBlock_pb_missing_javadoc_description_label;
+ addComboBox(composite, label, PREF_PB_MISSING_JAVADOC_TAG_DESCRIPTION, considerTagDescriptions, considerTagDescriptionsLabels, indent);
+ setComboEnabled(PREF_PB_MISSING_JAVADOC_TAG_DESCRIPTION, true);
+
label= PreferencesMessages.JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_not_visible_ref_label;
addCheckBox(composite, label, PREF_PB_INVALID_JAVADOC_TAGS_NOT_VISIBLE_REF, enabledDisabled, indent);
@@ -188,7 +206,7 @@
label = PreferencesMessages.JavadocProblemsConfigurationBlock_pb_missing_comments_label;
addComboBox(composite, label, PREF_PB_MISSING_JAVADOC_COMMENTS, errorWarningIgnore, errorWarningIgnoreLabels, 0);
-
+
label = PreferencesMessages.JavadocProblemsConfigurationBlock_pb_missing_comments_visibility_label;
addComboBox(composite, label, PREF_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY, visibilities, visibilitiesLabels, indent);
@@ -211,6 +229,7 @@
if (PREF_PB_INVALID_JAVADOC.equals(changedKey) ||
PREF_PB_MISSING_JAVADOC_TAGS.equals(changedKey) ||
PREF_PB_MISSING_JAVADOC_COMMENTS.equals(changedKey) ||
+ PREF_PB_INVALID_JAVADOC_TAGS.equals(changedKey) ||
PREF_JAVADOC_SUPPORT.equals(changedKey)) {
updateEnableStates();
} else {
@@ -225,9 +244,10 @@
private void updateEnableStates() {
boolean enableJavadoc= checkValue(PREF_JAVADOC_SUPPORT, ENABLED);
enableConfigControls(enableJavadoc);
-
+
if (enableJavadoc) {
boolean enableInvalidTagsErrors= !checkValue(PREF_PB_INVALID_JAVADOC, IGNORE);
+ setComboEnabled(PREF_PB_MISSING_JAVADOC_TAG_DESCRIPTION, enableInvalidTagsErrors);
getCheckBox(PREF_PB_INVALID_JAVADOC_TAGS).setEnabled(enableInvalidTagsErrors);
getCheckBox(PREF_PB_INVALID_JAVADOC_TAGS_NOT_VISIBLE_REF).setEnabled(enableInvalidTagsErrors);
getCheckBox(PREF_PB_INVALID_JAVADOC_TAGS_DEPRECATED_REF).setEnabled(enableInvalidTagsErrors);
#P org.eclipse.jdt.core.tests.compiler
Index: src/org/eclipse/jdt/core/tests/compiler/regression/EnumTest.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/EnumTest.java,v
retrieving revision 1.117
diff -u -r1.117 EnumTest.java
--- src/org/eclipse/jdt/core/tests/compiler/regression/EnumTest.java 15 Jul 2007 00:17:48 -0000 1.117
+++ src/org/eclipse/jdt/core/tests/compiler/regression/EnumTest.java 24 Sep 2007 07:19:37 -0000
@@ -1240,47 +1240,47 @@
" public String val(Object x) { return x.toString(); }\n" +
"}\n"
},
- "----------\n" +
- "1. ERROR in E.java (at line 3)\n" +
- " * @see e\n" +
- " ^\n" +
- "Javadoc: e cannot be resolved to a type\n" +
- "----------\n" +
- "2. ERROR in E.java (at line 4)\n" +
- " * @see #VALIDE\n" +
- " ^^^^^^\n" +
- "Javadoc: VALIDE cannot be resolved or is not a field\n" +
- "----------\n" +
- "3. ERROR in E.java (at line 8)\n" +
- " * @see E#test\n" +
- " ^^^^\n" +
- "Javadoc: test cannot be resolved or is not a field\n" +
- "----------\n" +
- "4. ERROR in E.java (at line 9)\n" +
- " * @see EUX\n" +
- " ^^^\n" +
- "Javadoc: EUX cannot be resolved to a type\n" +
- "----------\n" +
- "5. ERROR in E.java (at line 13)\n" +
- " * @param obj the object\n" +
- " ^^^\n" +
- "Javadoc: Parameter obj is not declared\n" +
- "----------\n" +
- "6. ERROR in E.java (at line 14)\n" +
- " * @return\n" +
- " ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
- "----------\n" +
- "7. ERROR in E.java (at line 15)\n" +
- " * @see Objet\n" +
- " ^^^^^\n" +
- "Javadoc: Objet cannot be resolved to a type\n" +
- "----------\n" +
- "8. ERROR in E.java (at line 17)\n" +
- " public String val(Object x) { return x.toString(); }\n" +
- " ^\n" +
- "Javadoc: Missing tag for parameter x\n" +
- "----------\n"
+ "----------\n" +
+ "1. ERROR in E.java (at line 3)\n" +
+ " * @see e\n" +
+ " ^\n" +
+ "Javadoc: e cannot be resolved to a type\n" +
+ "----------\n" +
+ "2. ERROR in E.java (at line 4)\n" +
+ " * @see #VALIDE\n" +
+ " ^^^^^^\n" +
+ "Javadoc: VALIDE cannot be resolved or is not a field\n" +
+ "----------\n" +
+ "3. ERROR in E.java (at line 8)\n" +
+ " * @see E#test\n" +
+ " ^^^^\n" +
+ "Javadoc: test cannot be resolved or is not a field\n" +
+ "----------\n" +
+ "4. ERROR in E.java (at line 9)\n" +
+ " * @see EUX\n" +
+ " ^^^\n" +
+ "Javadoc: EUX cannot be resolved to a type\n" +
+ "----------\n" +
+ "5. ERROR in E.java (at line 13)\n" +
+ " * @param obj the object\n" +
+ " ^^^\n" +
+ "Javadoc: Parameter obj is not declared\n" +
+ "----------\n" +
+ "6. ERROR in E.java (at line 14)\n" +
+ " * @return\n" +
+ " ^^^^^^\n" +
+ "Javadoc: Description expected after @return tag\n" +
+ "----------\n" +
+ "7. ERROR in E.java (at line 15)\n" +
+ " * @see Objet\n" +
+ " ^^^^^\n" +
+ "Javadoc: Objet cannot be resolved to a type\n" +
+ "----------\n" +
+ "8. ERROR in E.java (at line 17)\n" +
+ " public String val(Object x) { return x.toString(); }\n" +
+ " ^\n" +
+ "Javadoc: Missing tag for parameter x\n" +
+ "----------\n"
);
}
public void test042() {
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.36
diff -u -r1.36 JavadocBugsTest.java
--- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 16 Mar 2007 18:31:22 -0000 1.36
+++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 24 Sep 2007 07:19:52 -0000
@@ -20,6 +20,7 @@
String docCommentSupport = CompilerOptions.ENABLED;
String reportInvalidJavadoc = CompilerOptions.ERROR;
+ String reportMissingJavadocDescription = CompilerOptions.RETURN_TAG;
String reportInvalidJavadocVisibility = CompilerOptions.PRIVATE;
String reportMissingJavadocTags = CompilerOptions.ERROR;
String reportMissingJavadocComments = null;
@@ -68,6 +69,11 @@
} else {
options.put(CompilerOptions.OPTION_ReportMissingJavadocTags, reportInvalidJavadoc);
}
+ if (reportMissingJavadocDescription != null) {
+ options.put(CompilerOptions.OPTION_ReportMissingJavadocTagDescription, this.reportMissingJavadocDescription);
+ } else {
+ options.put(CompilerOptions.OPTION_ReportMissingJavadocTagDescription, CompilerOptions.RETURN_TAG);
+ }
options.put(CompilerOptions.OPTION_ReportFieldHiding, CompilerOptions.IGNORE);
options.put(CompilerOptions.OPTION_ReportSyntheticAccessEmulation, CompilerOptions.IGNORE);
options.put(CompilerOptions.OPTION_ReportDeprecation, reportDeprecation);
@@ -2253,22 +2259,22 @@
"1. ERROR in X.java (at line 2)\n" +
" /**@return*/\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n" +
"2. ERROR in X.java (at line 4)\n" +
" /**@return */\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n" +
"3. ERROR in X.java (at line 6)\n" +
" /**@return****/\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n" +
"4. ERROR in X.java (at line 9)\n" +
" * @return\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n"
);
}
@@ -2289,12 +2295,12 @@
"1. ERROR in X.java (at line 3)\n" +
" * @return* */\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n" +
"2. ERROR in X.java (at line 5)\n" +
" /**@return** **/\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n"
);
}
@@ -3032,12 +3038,12 @@
"1. ERROR in X.java (at line 3)\n" +
" * @return\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n" +
"2. ERROR in X.java (at line 8)\n" +
" * @return \n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n"
);
}
@@ -5211,7 +5217,7 @@
"1. ERROR in X.java (at line 21)\n" +
" * @return\n" +
" ^^^^^^\n" +
- "Javadoc: Missing return type description\n" +
+ "Javadoc: Description expected after @return tag\n" +
"----------\n"
);
}
@@ -5773,4 +5779,211 @@
"Javadoc: Missing tag for parameter anotherInt\n" +
"----------\n");
}
+
+ /**
+ * @bug 73352: [Javadoc] Missing description should be warned for all tags
+ * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=73352"
+ */
+ public void testBug73352a() {
+ String[] units = new String[] {
+ "X.java",
+ "/**\n" +
+ "* @since\n" +
+ "* @author\n" +
+ "* @version\n" +
+ "*/\n" +
+ "public class X {\n" +
+ " /**\n" +
+ " * @param aParam\n" +
+ " * @return\n" +
+ " * @see\n" +
+ " * @since\n" +
+ " * @throws NullPointerException\n" +
+ " * @exception NullPointerException\n" +
+ " * @serial\n" +
+ " * @serialData\n" +
+ " * @serialField\n" +
+ " * @deprecated\n" +
+ " */\n" +
+ " public String foo(String aParam) {\n" +
+ " return new String();\n" +
+ " }\n" +
+ "}\n"
+ };
+ reportInvalidJavadoc = CompilerOptions.WARNING;
+ reportMissingJavadocDescription = CompilerOptions.ALL_TAGS;
+ runNegativeTest(units,
+ "----------\n" +
+ "1. WARNING in X.java (at line 2)\n" +
+ " * @since\n" +
+ " ^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "2. WARNING in X.java (at line 3)\n" +
+ " * @author\n" +
+ " ^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "3. WARNING in X.java (at line 4)\n" +
+ " * @version\n" +
+ " ^^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "4. WARNING in X.java (at line 8)\n" +
+ " * @param aParam\n" +
+ " ^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "5. WARNING in X.java (at line 9)\n" +
+ " * @return\n" +
+ " ^^^^^^\n" +
+ "Javadoc: Description expected after @return tag\n" +
+ "----------\n" +
+ "6. WARNING in X.java (at line 10)\n" +
+ " * @see\n" +
+ " ^^^\n" +
+ "Javadoc: Missing reference\n" +
+ "----------\n" +
+ "7. WARNING in X.java (at line 11)\n" +
+ " * @since\n" +
+ " ^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "8. WARNING in X.java (at line 12)\n" +
+ " * @throws NullPointerException\n" +
+ " * @exception NullPointerException\n" +
+ " ^^^^^^^^^^^^^^^^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "9. WARNING in X.java (at line 13)\n" +
+ " * @exception NullPointerException\n" +
+ " * @serial\n" +
+ " ^^^^^^^^^^^^^^^^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "10. WARNING in X.java (at line 14)\n" +
+ " * @serial\n" +
+ " ^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "11. WARNING in X.java (at line 15)\n" +
+ " * @serialData\n" +
+ " ^^^^^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "12. WARNING in X.java (at line 16)\n" +
+ " * @serialField\n" +
+ " ^^^^^^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n" +
+ "13. WARNING in X.java (at line 17)\n" +
+ " * @deprecated\n" +
+ " ^^^^^^^^^^\n" +
+ "Javadoc: Description expected after this token\n" +
+ "----------\n"
+ );
+ }
+ public void testBug73352b() {
+ String[] units = new String[] {
+ "X.java",
+ "/**\n" +
+ "* @since 1.0\n" +
+ "* @author John Doe\n" +
+ "* @version 1.1\n" +
+ "*/\n" +
+ "public class X {\n" +
+ " /**\n" +
+ " * @param aParam comment\n" +
+ " * @return String\n" +
+ " * @see String\n" +
+ " * @since 1.1\n" +
+ " * @throws NullPointerException an exception\n" +
+ " * @exception NullPointerException an exception\n" +
+ " * @serial aSerial\n" +
+ " * @serialData aSerialData\n" +
+ " * @serialField aSerialField\n" +
+ " * @deprecated use another method\n" +
+ " */\n" +
+ " public String foo(String aParam) {\n" +
+ " return new String();\n" +
+ " }\n" +
+ "}\n"
+ };
+ reportInvalidJavadoc = CompilerOptions.WARNING;
+ reportMissingJavadocDescription = CompilerOptions.ALL_TAGS;
+ runConformTest(units);
+ }
+ public void testBug73352c() {
+ String[] units = new String[] {
+ "X.java",
+ "/**\n" +
+ "* @since\n" +
+ "* @author\n" +
+ "* @version\n" +
+ "*/\n" +
+ "public class X {\n" +
+ " /**\n" +
+ " * @param aParam\n" +
+ " * @return\n" +
+ " * @see\n" +
+ " * @since\n" +
+ " * @throws NullPointerException\n" +
+ " * @exception NullPointerException\n" +
+ " * @serial\n" +
+ " * @serialData\n" +
+ " * @serialField\n" +
+ " * @deprecated\n" +
+ " */\n" +
+ " public String foo(String aParam) {\n" +
+ " return new String();\n" +
+ " }\n" +
+ "}\n"
+ };
+ reportInvalidJavadoc = CompilerOptions.WARNING;
+ reportMissingJavadocDescription = CompilerOptions.RETURN_TAG;
+ runNegativeTest(units,
+ "----------\n" +
+ "1. WARNING in X.java (at line 9)\n" +
+ " * @return\n" +
+ " ^^^^^^\n" +
+ "Javadoc: Description expected after @return tag\n" +
+ "----------\n" +
+ "2. WARNING in X.java (at line 10)\n" +
+ " * @see\n" +
+ " ^^^\n" +
+ "Javadoc: Missing reference\n" +
+ "----------\n"
+ );
+ }
+
+ public void testBug73352d() {
+ String[] units = new String[] {
+ "X.java",
+ "/**\n" +
+ "* @since\n" +
+ "* @author\n" +
+ "* @version\n" +
+ "*/\n" +
+ "public class X {\n" +
+ " /**\n" +
+ " * @param aParam\n" +
+ " * @return\n" +
+ " * @see\n" +
+ " * @since\n" +
+ " * @throws NullPointerException\n" +
+ " * @exception NullPointerException\n" +
+ " * @serial\n" +
+ " * @serialData\n" +
+ " * @serialField\n" +
+ " * @deprecated\n" +
+ " */\n" +
+ " public String foo(String aParam) {\n" +
+ " return new String();\n" +
+ " }\n" +
+ "}\n"
+ };
+ reportInvalidJavadoc = CompilerOptions.WARNING;
+ reportMissingJavadocDescription = CompilerOptions.NO_TAG;
+ runConformTest(units);
+ }
}
Index: src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java,v
retrieving revision 1.119
diff -u -r1.119 BatchCompilerTest.java
--- src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java 13 Sep 2007 18:01:44 -0000 1.119
+++ src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java 24 Sep 2007 07:19:24 -0000
@@ -1242,6 +1242,7 @@
"