diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/PsiBasedMethodSignatureChecker.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/PsiBasedMethodSignatureChecker.java index ac69e3545a9..c5abde20735 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/PsiBasedMethodSignatureChecker.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/PsiBasedMethodSignatureChecker.java @@ -171,6 +171,9 @@ public class PsiBasedMethodSignatureChecker implements MethodSignatureChecker { @NotNull List signatureErrors, @NotNull List superFunctions ) { + // This optimization speed things up because hasRawTypesInHierarchicalSignature() is very expensive + if (superFunctions.isEmpty() && (signatureErrors.isEmpty() || !reportSignatureErrors)) return; + JavaMethodImpl methodWithPsi = (JavaMethodImpl) method; if (!RawTypesCheck.hasRawTypesInHierarchicalSignature(methodWithPsi) && isMethodReturnTypeCompatible(methodWithPsi) &&