From d7624aa7b6a00c19f497bfd33401846a095c7e29 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 4 Dec 2012 16:02:37 +0400 Subject: [PATCH] Enabled assert. --- .../SignaturesPropagationData.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java index b9dc9840be8..52923591392 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java @@ -19,7 +19,10 @@ package org.jetbrains.jet.lang.resolve.java.kotlinSignature; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.HierarchicalMethodSignature; +import com.intellij.psi.PsiClass; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -43,6 +46,8 @@ import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getFQName; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getVarargParameterType; public class SignaturesPropagationData { + private static final Logger LOG = Logger.getInstance(SignaturesPropagationData.class); + private final List modifiedTypeParameters; private final JavaDescriptorResolver.ValueParameterDescriptors modifiedValueParameters; private final JetType modifiedReturnType; @@ -200,16 +205,21 @@ public class SignaturesPropagationData { superFunctions.add(((FunctionDescriptor) superFun)); } else { - String fqName = superSignature.getMethod().getContainingClass().getQualifiedName(); + PsiClass psiClass = superSignature.getMethod().getContainingClass(); + assert psiClass != null; + String fqName = psiClass.getQualifiedName(); assert fqName != null; + Collection platformClasses = JavaToKotlinClassMap.getInstance().mapPlatformClass(new FqName(fqName)); if (platformClasses.isEmpty()) { - // TODO assert is temporarily disabled - // It fails because of bug in IDEA on Mac: it adds invalid roots to JDK classpath and it leads to the problem that - // getHierarchicalMethodSignature() returns elements from invalid virtual files - - //assert false : "Can't find super function for " + method.getPsiMethod() + - // " defined in " + method.getPsiMethod().getContainingClass() + String errorMessage = "Can't find super function for " + method.getPsiMethod() + + " defined in " + method.getPsiMethod().getContainingClass(); + if (ApplicationManager.getApplication().isUnitTestMode()) { + throw new IllegalStateException(errorMessage); + } + else { + LOG.error(errorMessage); + } } else { List funsFromMap =