Not looking for super methods which are Object methods in interfaces, because they are not loaded by JDR.
This commit is contained in:
+5
-1
@@ -33,6 +33,7 @@ import org.jetbrains.jet.lang.resolve.BindingContextUtils;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.*;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.MembersCache;
|
||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||
@@ -228,7 +229,10 @@ public class SignaturesPropagationData {
|
||||
? trace.get(BindingContext.DECLARATION_TO_DESCRIPTOR, ((JetClsMethod) superMethod).getOrigin())
|
||||
: findSuperFunction(superclassToFunctions.get(classFqName), superMethod);
|
||||
if (superFun == null) {
|
||||
reportCantFindSuperFunction(method);
|
||||
// Super methods which are Object methods in interfaces are not loaded by JDR.
|
||||
if (!MembersCache.isObjectMethodInInterface(superMethod)) {
|
||||
reportCantFindSuperFunction(method);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -315,7 +315,7 @@ public final class MembersCache {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isObjectMethodInInterface(@NotNull PsiMember member) {
|
||||
public static boolean isObjectMethodInInterface(@NotNull PsiMember member) {
|
||||
if (!(member instanceof PsiMethod)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user