public void javadocInvalidField(int sourceStart, int sourceEnd, Binding fieldBinding, TypeBinding searchedType, int modifiers) {
	int id = IProblem.JavadocUndefinedField;
	switch (fieldBinding.problemId()) {
		case ProblemReasons.NotFound :
			id = IProblem.JavadocUndefinedField;
			break;
		case ProblemReasons.NotVisible :
			id = IProblem.JavadocNotVisibleField;
			break;
		case ProblemReasons.Ambiguous :
			id = IProblem.JavadocAmbiguousField;
			break;
		case ProblemReasons.NoError : // 0
		default :
			needImplementation(); // want to fail to see why we were here...
			break;
	}
	int severity = computeSeverity(id);
	if (severity == ProblemSeverities.Ignore) return;
	// report issue
	if (javadocVisibility(this.options.reportInvalidJavadocTagsVisibility, modifiers)) {
		String[] arguments = new String[] {new String(fieldBinding.readableName())};
		handle(
			id,
			arguments,
			arguments,
			ProblemSeverities.Ignore,
			sourceStart,
			sourceEnd);
	}
}
///*
// * Similar implementation than invalidMethod(MessageSend...)
// * Note that following problem id cannot occur for Javadoc:
// * 	- NonStaticReferenceInStaticContext :
// * 	- NonStaticReferenceInConstructorInvocation :
// * 	- ReceiverTypeNotVisible :
// */
//public void javadocInvalidMethod(MessageSend messageSend, MethodBinding method, int modifiers) {
//	if (!javadocVisibility(this.options.reportInvalidJavadocTagsVisibility, modifiers)) return;
//	// set problem id
//	ProblemMethodBinding problemMethod = null;
//	int id = IProblem.JavadocUndefinedMethod; //default...
//	switch (method.problemId()) {
//		case ProblemReasons.NotFound :
//			id = IProblem.JavadocUndefinedMethod;
//			problemMethod = (ProblemMethodBinding) method;
//			if (problemMethod.closestMatch != null) {
//				int severity = computeSeverity(IProblem.JavadocParameterMismatch);
//				if (severity == ProblemSeverities.Ignore) return;
//				String closestParameterTypeNames = typesAsString(problemMethod.closestMatch.isVarargs(), problemMethod.closestMatch.parameters, false);
//				String parameterTypeNames = typesAsString(method.isVarargs(), method.parameters, false);
//				String closestParameterTypeShortNames = typesAsString(problemMethod.closestMatch.isVarargs(), problemMethod.closestMatch.parameters, true);
//				String parameterTypeShortNames = typesAsString(method.isVarargs(), method.parameters, true);
//				if (closestParameterTypeShortNames.equals(parameterTypeShortNames)){
//					closestParameterTypeShortNames = closestParameterTypeNames;
//					parameterTypeShortNames = parameterTypeNames;
//				}
//				this.handle(
//					IProblem.JavadocParameterMismatch,
//					new String[] {
//						new String(problemMethod.closestMatch.declaringClass.readableName()),
//						new String(problemMethod.closestMatch.selector),
//						closestParameterTypeNames,
//						parameterTypeNames
//					},
//					new String[] {
//						new String(problemMethod.closestMatch.declaringClass.shortReadableName()),
//						new String(problemMethod.closestMatch.selector),
//						closestParameterTypeShortNames,
//						parameterTypeShortNames
//					},
//					ProblemSeverities.Ignore,
//					(int) (messageSend.nameSourcePosition >>> 32),
//					(int) messageSend.nameSourcePosition);
//				return;
//			}
//			break;
//		case ProblemReasons.NotVisible :
//			id = IProblem.JavadocNotVisibleMethod;
//			break;
//		case ProblemReasons.Ambiguous :
//			id = IProblem.JavadocAmbiguousMethod;
//			break;
//		case ProblemReasons.NoError : // 0
//		default :
//			needImplementation(); // want to fail to see why we were here...
//			break;
//	}
//	int severity = computeSeverity(id);
//	if (severity == ProblemSeverities.Ignore) return;
//	// report issue
//	this.handle(
//		id,
//		new String[] {
//			new String(method.declaringClass.readableName()),
//			new String(method.selector), typesAsString(method.isVarargs(), method.parameters, false)},
//		new String[] {
//			new String(method.declaringClass.shortReadableName()),
//			new String(method.selector), typesAsString(method.isVarargs(), method.parameters, true)},
//			ProblemSeverities.Ignore,
//		(int) (messageSend.nameSourcePosition >>> 32),
//		(int) messageSend.nameSourcePosition);
//}