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:
committed by
Alexander Udalov
parent
b2bcbdfb7a
commit
07f1e61146
@@ -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");
|
||||
|
||||
-12
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user