From b16b9c58e1e829f4e1e060073a2e19438de7c06f Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 7 Nov 2013 18:49:17 +0400 Subject: [PATCH] If all supertypes are errors, do not leave the supertype list empty --- .../resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt index d5113373b51..19de207fe05 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt @@ -146,7 +146,7 @@ class LazyJavaClassDescriptor( else { val jlObject = innerC.javaClassResolver.resolveClassByFqName(JavaSupertypeResolver.OBJECT_FQ_NAME)?.getDefaultType() // If java.lang.Object is not found, we simply use Any to recover - emptyOrSingletonList(jlObject ?: KotlinBuiltIns.getInstance().getAnyType()) + listOf(jlObject ?: KotlinBuiltIns.getInstance().getAnyType()) } else supertypes.iterator() @@ -156,6 +156,9 @@ class LazyJavaClassDescriptor( } .filter { supertype -> !supertype.isError() } .toList() + .ifEmpty { + listOf(KotlinBuiltIns.getInstance().getAnyType()) + } } override fun getSupertypes(): Collection = _supertypes()