Community
Participate
Working Groups
if (typeRef != null) {
this.resolvedType = typeRef.getTypeBinding(scope);
typeRef.resolvedType = this.resolvedType;
// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=195374
// reproduce javadoc 1.3.1 / 1.4.2 behavior
if (typeRef instanceof SingleTypeReference &&
this.resolvedType.leafComponentType().enclosingType() != null &&
scope.compilerOptions().complianceLevel <= ClassFileConstants.JDK1_4) {
scope.problemReporter().javadocInvalidMemberTypeQualification(this.sourceStart, this.sourceEnd, scope.getDeclarationModifiers());
return null;
}
if (!this.resolvedType.isValidBinding()) {
scope.problemReporter().javadocInvalidType(typeRef, this.resolvedType, scope.getDeclarationModifiers());
"Javadoc: Missing tag for parameter anotherInt\n" +
"----------\n");
/**
* @bug 195374: [javadoc] Missing Javadoc warning for required qualification for inner types at 1.4 level
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=195374"
*/
public void testBug195374() {
String[] units = new String[] {
"X.java",
"public class X {\n" +
" public static class Param {\n" +
" /**\n" +
" * warning expected when compliance < 1.5 {@link X#setParams(Param[])}\n" +
" * no warning expected {@link X#setParams(X.Param[])}\n" +
" */\n" +
" public int getIndex() {\n" +
" return 0;\n" +
" }\n" +
" public void setParams(Param[] params) {\n" +
"}\n"
};
String error14 = new String(
// warning - Tag @link: can't find setParams(Param[]) in X
"----------\n" +
"1. ERROR in X.java (at line 4)\n" +
" ^^^^^^^\n" +
"Javadoc: Invalid member type qualification\n" +
this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC;
if (complianceLevel.equals(COMPLIANCE_1_3) || complianceLevel.equals(COMPLIANCE_1_4)) {
runNegativeTest(units,error14);
else {
runConformTest(units);