Reorder language check and purity check (IDEA-CR-52387)

GitOrigin-RevId: 52ff0043c202bdf49bfbc304ea63342da1689c9d
This commit is contained in:
Tagir Valeev
2019-09-27 10:32:45 +07:00
committed by intellij-monorepo-bot
parent 4ba3bce5f4
commit 83b331333a

View File

@@ -325,7 +325,6 @@ public class DfaValueFactory {
}
}
for (PsiMethod constructor : aClass.getConstructors()) {
if (!constructor.getLanguage().isKindOf(JavaLanguage.INSTANCE)) return true;
if (inByteCode && JavaMethodContractUtil.isPure(constructor) &&
!JavaMethodContractUtil.hasExplicitContractAnnotation(constructor)) {
// While pure constructor may call pure overridable method, our current implementation
@@ -334,6 +333,7 @@ public class DfaValueFactory {
// no overridable methods are called there.
continue;
}
if (!constructor.getLanguage().isKindOf(JavaLanguage.INSTANCE)) return true;
PsiCodeBlock body = constructor.getBody();
if (body == null) continue;