Remove unneeded asserts from JavaSupertypeResolver

Don't do anything special if a Java class happens to extend jet.JetObject: it's
not a Kotlin class and we should collect all its supertypes correctly
This commit is contained in:
Alexander Udalov
2013-09-27 14:24:05 +04:00
committed by Alexander Udalov
parent b2bcbdfb7a
commit 07f1e61146
4 changed files with 14 additions and 12 deletions
@@ -0,0 +1,4 @@
package test;
public class ClassExtendsTypeParameter<T> extends T {
}
@@ -0,0 +1,5 @@
package test
public open class ClassExtendsTypeParameter</*0*/ T> : T {
public constructor ClassExtendsTypeParameter</*0*/ T>()
}
@@ -1486,6 +1486,11 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadJava/sourceJava"), Pattern.compile("^(.+)\\.java$"), true);
}
@TestMetadata("ClassExtendsTypeParameter.java")
public void testClassExtendsTypeParameter() throws Exception {
doTestSourceJava("compiler/testData/loadJava/sourceJava/ClassExtendsTypeParameter.java");
}
@TestMetadata("ErrorTypes.java")
public void testErrorTypes() throws Exception {
doTestSourceJava("compiler/testData/loadJava/sourceJava/ErrorTypes.java");
@@ -19,9 +19,7 @@ package org.jetbrains.jet.lang.resolve.java.resolver;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor;
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.jetbrains.jet.lang.resolve.java.structure.JavaClass;
import org.jetbrains.jet.lang.resolve.java.structure.JavaClassifier;
import org.jetbrains.jet.lang.resolve.java.structure.JavaClassifierType;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.types.JetType;
@@ -90,16 +88,6 @@ public final class JavaSupertypeResolver {
) {
List<JetType> result = new ArrayList<JetType>(supertypes.size());
for (JavaClassifierType type : supertypes) {
JavaClassifier resolved = type.getClassifier();
if (resolved != null) {
assert resolved instanceof JavaClass : "Supertype should be a class: " + resolved;
FqName fqName = ((JavaClass) resolved).getFqName();
assert fqName != null : "Unresolved supertype: " + resolved;
if (JvmAbi.JET_OBJECT.getFqName().equals(fqName)) {
continue;
}
}
JetType transformed = typeTransformer.transformToType(type, TypeUsage.SUPERTYPE, typeVariableResolver);
if (transformed.isError()) {
// TODO: report INCOMPLETE_HIERARCHY