&& !inheritedMethod.isPublic()){ // interface inheriting Object protected method
id = IProblem.IncompatibleReturnTypeForNonInheritedInterfaceMethod;
} else {
id = IProblem.IncompatibleReturnType;
}
AbstractMethodDeclaration method = currentMethod.sourceMethod();
int sourceStart = 0;
int sourceEnd = 0;
if (method == null) {
if (declaringClass instanceof SourceTypeBinding) {
SourceTypeBinding sourceTypeBinding = (SourceTypeBinding) declaringClass;
sourceStart = sourceTypeBinding.sourceStart();
sourceEnd = sourceTypeBinding.sourceEnd();
}
} else if (method.isConstructor()){
sourceStart = method.sourceStart;
sourceEnd = method.sourceEnd;
} else {
TypeReference returnType = ((MethodDeclaration) method).returnType;
sourceStart = returnType.sourceStart;