diff --git a/compiler/testData/loadJava/sourceJava/ClassExtendsTypeParameter.java b/compiler/testData/loadJava/sourceJava/ClassExtendsTypeParameter.java new file mode 100644 index 00000000000..a4b88c09ed0 --- /dev/null +++ b/compiler/testData/loadJava/sourceJava/ClassExtendsTypeParameter.java @@ -0,0 +1,4 @@ +package test; + +public class ClassExtendsTypeParameter extends T { +} diff --git a/compiler/testData/loadJava/sourceJava/ClassExtendsTypeParameter.txt b/compiler/testData/loadJava/sourceJava/ClassExtendsTypeParameter.txt new file mode 100644 index 00000000000..2af89a91700 --- /dev/null +++ b/compiler/testData/loadJava/sourceJava/ClassExtendsTypeParameter.txt @@ -0,0 +1,5 @@ +package test + +public open class ClassExtendsTypeParameter : T { + public constructor ClassExtendsTypeParameter() +} diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java index bd433a30974..9bfc6455977 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java @@ -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"); diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.java index 18fe5d2343c..bd09ad509c8 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.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 result = new ArrayList(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